From 4096344c6f15ee0d52e0945448766b7eb5f6574a Mon Sep 17 00:00:00 2001 From: BlockMen Date: Tue, 16 Feb 2016 23:21:35 +0100 Subject: [PATCH] Add colored Sheep Sheep spawn randomly with white, grey, brown or black wool --- sheep/README.txt | 9 +- sheep/init.lua | 299 ++++++++++++---------- sheep/textures/creatures_sheep_black.png | Bin 0 -> 4073 bytes sheep/textures/creatures_sheep_brown.png | Bin 0 -> 4372 bytes sheep/textures/creatures_sheep_grey.png | Bin 0 -> 4195 bytes sheep/textures/creatures_sheep_shaved.png | Bin 2657 -> 5641 bytes 6 files changed, 164 insertions(+), 144 deletions(-) create mode 100644 sheep/textures/creatures_sheep_black.png create mode 100644 sheep/textures/creatures_sheep_brown.png create mode 100644 sheep/textures/creatures_sheep_grey.png diff --git a/sheep/README.txt b/sheep/README.txt index 3864be2..054894b 100644 --- a/sheep/README.txt +++ b/sheep/README.txt @@ -1,12 +1,13 @@ Sheep for Creatures MOB-Engine ============================== -Copyright (c) 2015 BlockMen +Copyright (c) 2015-2016 BlockMen -Version: 2.0 Beta +Version: 2.1 Adds sheep to Minetest (requires Creatures MOB-Engine). Sheep spawn only at day-time and are friendly and remain around 5 minutes in the world. +There are four different wool colors: white, grey, brown and black. You can tame them by feading them with wheat. If there is grass they eat the grass and regrow wool that way. They will follow you if you have Wheat in your hand. Sheep have 8 HP and drop 1-2 wool when punched or 1-3 wool when using shears. @@ -20,11 +21,11 @@ ingot stick License: ~~~~~~~~ Code: -(c) Copyright 2015 BlockMen; modified zlib-License +(c) Copyright 2015-2016 BlockMen; modified zlib-License see "LICENSE.txt" for details. Media(textures and meshes/models): -(c) Copyright (2014-2015) BlockMen; CC-BY-SA 3.0 +(c) Copyright (2014-2016) BlockMen; CC-BY-SA 3.0 Sounds: - creatures_sheep.1.ogg, confusion_music(https://freesound.org/people/confusion_music) CC-BY 3.0 diff --git a/sheep/init.lua b/sheep/init.lua index 76b691b..2872b32 100644 --- a/sheep/init.lua +++ b/sheep/init.lua @@ -1,5 +1,5 @@ --= Sheep for Creatures MOB-Engine (cme) =-- --- Copyright (c) 2015 BlockMen +-- Copyright (c) 2015-2016 BlockMen -- -- init.lua -- @@ -34,163 +34,182 @@ core.register_craft({ } }) -local function shear(self, drop_count, sound) - if self.has_wool == true then - self.has_wool = false - local pos = self.object:getpos() - if sound then - core.sound_play("creatures_shears", {pos = pos, gain = 1, max_hear_distance = 10}) - end - self.object:set_properties({textures = {"creatures_sheep.png"}}) - creatures.dropItems(pos, {{"wool:white", drop_count}}) - end +local function setColor(self) + if self and self.object then + local ext = ".png" + if self.has_wool ~= true then + ext = ".png^(creatures_sheep_shaved.png^[colorize:" .. self.wool_color:gsub("grey", "gray") .. ":50)" + end + self.object:set_properties({textures = {"creatures_sheep.png^creatures_sheep_" .. self.wool_color .. ext}}) + end end +local function shear(self, drop_count, sound) + if self.has_wool == true then + self.has_wool = false + local pos = self.object:getpos() + if sound then + core.sound_play("creatures_shears", {pos = pos, gain = 1, max_hear_distance = 10}) + end + + setColor(self) + creatures.dropItems(pos, {{"wool:" .. self.wool_color, drop_count}}) + end +end + + +-- white, grey, brown, black (see wool colors as reference) +local colors = {"white", "grey", "brown", "black"} + local def = { - name = "creatures:sheep", - stats = { - hp = 8, - lifetime = 450, -- 7,5 Minutes - can_jump = 1, - can_swim = true, - can_burn = true, - can_panic = true, - has_falldamage = true, - has_kockback = true, - }, + name = "creatures:sheep", + stats = { + hp = 8, + lifetime = 450, -- 7,5 Minutes + can_jump = 1, + can_swim = true, + can_burn = true, + can_panic = true, + has_falldamage = true, + has_kockback = true, + }, - model = { - mesh = "creatures_sheep.b3d", - textures = {"creatures_sheep.png^creatures_sheep_white.png"}, - collisionbox = {-0.5, -0.01, -0.55, 0.5, 1.1, 0.55}, - rotation = -90.0, - animations = { - idle = {start = 1, stop = 60, speed = 15}, - walk = {start = 81, stop = 101, speed = 18}, - walk_long = {start = 81, stop = 101, speed = 18}, - eat = {start = 107, stop = 170, speed = 12, loop = false}, - follow = {start = 81, stop = 101, speed = 15}, - death = {start = 171, stop = 191, speed = 32, loop = false, duration = 2.52}, - }, - }, + model = { + mesh = "creatures_sheep.b3d", + textures = {"creatures_sheep.png^creatures_sheep_white.png"}, + collisionbox = {-0.5, -0.01, -0.55, 0.5, 1.1, 0.55}, + rotation = -90.0, + animations = { + idle = {start = 1, stop = 60, speed = 15}, + walk = {start = 81, stop = 101, speed = 18}, + walk_long = {start = 81, stop = 101, speed = 18}, + eat = {start = 107, stop = 170, speed = 12, loop = false}, + follow = {start = 81, stop = 101, speed = 15}, + death = {start = 171, stop = 191, speed = 32, loop = false, duration = 2.52}, + }, + }, - sounds = { - on_damage = {name = "creatures_sheep", gain = 1.0, distance = 10}, - on_death = {name = "creatures_sheep", gain = 1.0, distance = 10}, - swim = {name = "creatures_splash", gain = 1.0, distance = 10,}, - random = { - idle = {name = "creatures_sheep", gain = 0.6, distance = 10, time_min = 23}, - }, - }, + sounds = { + on_damage = {name = "creatures_sheep", gain = 1.0, distance = 10}, + on_death = {name = "creatures_sheep", gain = 1.0, distance = 10}, + swim = {name = "creatures_splash", gain = 1.0, distance = 10,}, + random = { + idle = {name = "creatures_sheep", gain = 0.6, distance = 10, time_min = 23}, + }, + }, - modes = { - idle = {chance = 0.5, duration = 10, update_yaw = 8}, - walk = {chance = 0.14, duration = 4.5, moving_speed = 1.3}, - walk_long = {chance = 0.11, duration = 8, moving_speed = 1.3, update_yaw = 5}, - -- special modes - follow = {chance = 0, duration = 20, radius = 4, timer = 5, moving_speed = 1, items = {"farming:wheat"}}, - eat = {chance = 0.25, - duration = 4, - nodes = { - "default:grass_1", "default:grass_2", "default:grass_3", - "default:grass_4", "default:grass_5", "default:dirt_with_grass" - } - }, - }, + modes = { + idle = {chance = 0.5, duration = 10, update_yaw = 8}, + walk = {chance = 0.14, duration = 4.5, moving_speed = 1.3}, + walk_long = {chance = 0.11, duration = 8, moving_speed = 1.3, update_yaw = 5}, + -- special modes + follow = {chance = 0, duration = 20, radius = 4, timer = 5, moving_speed = 1, items = {"farming:wheat"}}, + eat = { chance = 0.25, + duration = 4, + nodes = { + "default:grass_1", "default:grass_2", "default:grass_3", + "default:grass_4", "default:grass_5", "default:dirt_with_grass" + } + }, + }, - drops = function(self) - local items = {{"creatures:flesh"}} - if self.has_wool then - table.insert(items, {"wool:white", {min = 1, max = 2}}) - end - creatures.dropItems(self.object:getpos(), items) - end, + drops = function(self) + local items = {{"creatures:flesh"}} + if self.has_wool then + table.insert(items, {"wool:" .. self.wool_color, {min = 1, max = 2}}) + end + creatures.dropItems(self.object:getpos(), items) + end, - spawning = { - abm_nodes = { - spawn_on = {"default:dirt_with_grass"}, - }, - abm_interval = 55, - abm_chance = 7800, - max_number = 1, - number = {min = 1, max = 3}, - time_range = {min = 5100, max = 18300}, - light = {min = 10, max = 15}, - height_limit = {min = 0, max = 25}, + spawning = { + abm_nodes = { + spawn_on = {"default:dirt_with_grass"}, + }, + abm_interval = 55, + abm_chance = 7800, + max_number = 1, + number = {min = 1, max = 3}, + time_range = {min = 5100, max = 18300}, + light = {min = 10, max = 15}, + height_limit = {min = 0, max = 25}, - spawn_egg = { - description = "Sheep Spawn-Egg", - texture = "creatures_egg_sheep.png", - }, + spawn_egg = { + description = "Sheep Spawn-Egg", + texture = "creatures_egg_sheep.png", + }, - spawner = { - description = "Sheep Spawner", - range = 8, - player_range = 20, - number = 6, - } - }, + spawner = { + description = "Sheep Spawner", + range = 8, + player_range = 20, + number = 6, + } + }, - on_punch = function(self, puncher) - shear(self) - end, + on_punch = function(self, puncher) + shear(self) + end, - get_staticdata = function(self) - return { - has_wool = self.has_wool - } - end, + get_staticdata = function(self) + return { + has_wool = self.has_wool, + wool_color = self.wool_color, + } + end, - on_activate = function(self, staticdata) - if self.has_wool == false then - self.object:set_properties({textures = {"creatures_sheep.png"}}) - end - end, + on_activate = function(self, staticdata) + if self.has_wool == nil then + self.has_wool = true + end - on_rightclick = function(self, clicker) - local item = clicker:get_wielded_item() - if item then - local name = item:get_name() - if name == "farming:wheat" then - self.target = clicker - self.mode = "follow" - self.modetimer = 0 + if not self.wool_color then + self.wool_color = colors[math.random(1, #colors)] + end + -- update fur + setColor(self) + end, - if not self.tamed then - self.fed_cnt = (self.fed_cnt or 0) + 1 - end - -- play eat sound? - item:take_item() - elseif name == "creatures:shears" and self.has_wool then - shear(self, math.random(2, 3), true) - item:add_wear(65535/100) - end - if not core.setting_getbool("creative_mode") then - clicker:set_wielded_item(item) - end - end + on_rightclick = function(self, clicker) + local item = clicker:get_wielded_item() + if item then + local name = item:get_name() + if name == "farming:wheat" then + self.target = clicker + self.mode = "follow" + self.modetimer = 0 - return true - end, + if not self.tamed then + self.fed_cnt = (self.fed_cnt or 0) + 1 + end - on_step = function(self, dtime) - if self.has_wool == nil then - self.has_wool = true - end - if self.mode == "eat" and self.eat_node then - self.regrow_wool = true - end - if self.last_mode == "eat" and (self.modetimer and self.modetimer == 0) and self.regrow_wool then - self.has_wool = true - self.regrow_wool = nil - self.object:set_properties({textures = {"creatures_sheep.png^creatures_sheep_white.png"}}) - end - if self.fed_cnt and self.fed_cnt > 4 then - self.tamed = true - self.fed_cnt = nil - end - end + -- play eat sound? + item:take_item() + elseif name == "creatures:shears" and self.has_wool then + shear(self, math.random(2, 3), true) + item:add_wear(65535/100) + end + if not core.setting_getbool("creative_mode") then + clicker:set_wielded_item(item) + end + end + return true + end, + + on_step = function(self, dtime) + if self.mode == "eat" and self.eat_node then + self.regrow_wool = true + end + if self.last_mode == "eat" and (self.modetimer and self.modetimer == 0) and self.regrow_wool then + self.has_wool = true + self.regrow_wool = nil + setColor(self) + end + if self.fed_cnt and self.fed_cnt > 4 then + self.tamed = true + self.fed_cnt = nil + end + end } creatures.register_mob(def) diff --git a/sheep/textures/creatures_sheep_black.png b/sheep/textures/creatures_sheep_black.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd8120a1ea830b2e78ac5ae3addd55195205e8f GIT binary patch literal 4073 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 bkL&jUsa-*#lxfAk00000NkvXXu0mjf*zB>f literal 0 HcmV?d00001 diff --git a/sheep/textures/creatures_sheep_brown.png b/sheep/textures/creatures_sheep_brown.png new file mode 100644 index 0000000000000000000000000000000000000000..90bfd86e10d765325ed75ab2f20eb2b6afe12260 GIT binary patch literal 4372 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 O0000X1^@s6f#@jV00009a7bBm000XT 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