From bf12043fdcab68acfef299e26b6896a918ce1512 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Sat, 16 Dec 2023 08:32:32 +0000 Subject: [PATCH 01/12] have chance of chicken dropping a feather --- chicken.lua | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/chicken.lua b/chicken.lua index 578924a..3ffa16d 100644 --- a/chicken.lua +++ b/chicken.lua @@ -89,20 +89,25 @@ mobs:register_mob("mobs_animal:chicken", { end self.egg_timer = 0 - if self.child - or math.random(100) > 1 then + if self.child then return end local pos = self.object:get_pos() ; if not pos then return end - minetest.add_item(pos, "mobs:egg") + if math.random(100) == 1 then - minetest.sound_play("default_place_node_hard", { - pos = pos, - gain = 1.0, - max_hear_distance = 5 - }, true) + minetest.add_item(pos, "mobs:egg") + + minetest.sound_play("default_place_node_hard", { + pos = pos, + gain = 1.0, + max_hear_distance = 5 + }, true) + + elseif math.random(100) < 3 then + minetest.add_item(pos, "mobs:chicken_feather") + end end }) From 76c30c81c33d0616ed085141ba07ad49905b6404 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Tue, 27 Feb 2024 07:58:50 +0000 Subject: [PATCH 02/12] set is_ground_content for honey block, chicken egg and beehive (thx SwissAlpS) --- bee.lua | 2 ++ chicken.lua | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bee.lua b/bee.lua index 1937ea9..e9c0b0a 100644 --- a/bee.lua +++ b/bee.lua @@ -90,6 +90,7 @@ minetest.register_node(":mobs:beehive", { sunlight_propagates = true, walkable = true, groups = {oddly_breakable_by_hand = 3, flammable = 1, disable_suffocation = 1}, + is_ground_content = false, sounds = default and default.node_sound_defaults(), on_construct = function(pos) @@ -163,6 +164,7 @@ minetest.register_node(":mobs:honey_block", { description = S("Honey Block"), tiles = {"mobs_honey_block.png"}, groups = {snappy = 3, flammable = 2}, + is_ground_content = false, sounds = default and default.node_sound_dirt_defaults() }) diff --git a/chicken.lua b/chicken.lua index 3ffa16d..7e7b0bb 100644 --- a/chicken.lua +++ b/chicken.lua @@ -252,7 +252,7 @@ minetest.register_node(":mobs:egg", { wield_image = "mobs_chicken_egg.png", paramtype = "light", walkable = false, - is_ground_content = true, + is_ground_content = false, sunlight_propagates = true, selection_box = { type = "fixed", From 808bbf82e93a701c4f2e73954084305d9aba12a8 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Sat, 16 Mar 2024 07:28:44 +0000 Subject: [PATCH 03/12] fix missing horns on respawn/egg place --- sheep.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sheep.lua b/sheep.lua index b9331d2..e8797e9 100644 --- a/sheep.lua +++ b/sheep.lua @@ -214,6 +214,15 @@ for _, col in ipairs(all_colours) do return false end, + -- fix any issue with horns by re-checking + on_spawn = function(self) + + local textures = horn_texture_sel(self.attribute_horns, self.gotten) + + self.object:set_properties({textures = {textures}}) + self.base_texture = {textures} + end, + on_grown = function(self) -- add the horns if we have horns when fully grown From dc43a7505c8711b270fd891bbe2a900521e138e2 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Mon, 22 Apr 2024 07:56:54 +0100 Subject: [PATCH 04/12] fix baby sheep horn issue, update licenses --- license.txt | 3 ++- sheep.lua | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/license.txt b/license.txt index 6c8b2c8..f62941b 100644 --- a/license.txt +++ b/license.txt @@ -24,6 +24,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Honey and Cheese block by TenPlus1 under CC0 Chicken/Cow/Panda/Pig/Sheep sounds from freesounds.org under CC0 @@ -49,7 +50,6 @@ Models/Textures/Media by Krupnov Pavel (WTFPL) Models/Textures by Krupno Pavel (MIT) mobs_bee.b3d (converted to .b3d by sirrobzerrone) - mobs_bee.png mobs_pumba.b3d (converted to .b3d by sirrobzerrone) mobs_pumba.png @@ -67,6 +67,7 @@ Models/Textures by JK Murray (CC0) mobs_chick.png Models/Textures by sirrobzerrone (CC0) + mobs_bee.png mobs_cow.b3d mobs_cow.png mobs_cow2.png diff --git a/sheep.lua b/sheep.lua index e8797e9..7ca9396 100644 --- a/sheep.lua +++ b/sheep.lua @@ -217,6 +217,8 @@ for _, col in ipairs(all_colours) do -- fix any issue with horns by re-checking on_spawn = function(self) + if self.child then return end -- baby sheep dont have horns + local textures = horn_texture_sel(self.attribute_horns, self.gotten) self.object:set_properties({textures = {textures}}) From 823a1dc0b2063cfa7f436ced9fc9d0a67feda890 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Tue, 23 Apr 2024 08:03:53 +0100 Subject: [PATCH 05/12] update license --- license.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/license.txt b/license.txt index f62941b..ef6a88a 100644 --- a/license.txt +++ b/license.txt @@ -24,7 +24,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Honey and Cheese block by TenPlus1 under CC0 +Honey block, cheese and Cheese block by TenPlus1 under CC0 Chicken/Cow/Panda/Pig/Sheep sounds from freesounds.org under CC0 From 3260afbad40567159144c57f7e76ad9a29882655 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Mon, 22 Jul 2024 14:57:55 +0100 Subject: [PATCH 06/12] fix nametag bug when colouring sheep --- sheep.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sheep.lua b/sheep.lua index 7ca9396..6e165cc 100644 --- a/sheep.lua +++ b/sheep.lua @@ -339,9 +339,11 @@ for _, col in ipairs(all_colours) do if ent then + local prop = self.object:get_properties() + -- add old sheep attributes ent.attribute_horns = self.attribute_horns - ent.nametag = self.nametag + ent._nametag = prop.nametag ent.owner = name ent.tamed = true ent.protected = self.protected @@ -354,8 +356,7 @@ for _, col in ipairs(all_colours) do ent.base_texture = {textures} ent.object:set_properties({ - textures = {textures}, - nametag = self.nametag + textures = {textures} }) -- remove old sheep From 9cd297453341177009563eeda02718d2540fe934 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Fri, 26 Jul 2024 14:49:21 +0100 Subject: [PATCH 07/12] add {eatable} group to food items and update infotext --- bee.lua | 4 ++-- bunny.lua | 8 ++++---- chicken.lua | 12 ++++++------ cow.lua | 16 ++++++++-------- rat.lua | 4 ++-- sheep.lua | 8 ++++---- warthog.lua | 8 ++++---- 7 files changed, 30 insertions(+), 30 deletions(-) diff --git a/bee.lua b/bee.lua index e9c0b0a..5eb00bb 100644 --- a/bee.lua +++ b/bee.lua @@ -73,10 +73,10 @@ mobs:alias_mob("mobs:bee", "mobs_animal:bee") -- honey minetest.register_craftitem(":mobs:honey", { - description = S("Honey"), + description = S("Honey") .. " (♥4)", inventory_image = "mobs_honey_inv.png", on_use = minetest.item_eat(4), - groups = {food_honey = 1, food_sugar = 1, flammable = 1} + groups = {food_honey = 1, food_sugar = 1, flammable = 1, eatable = 4} }) diff --git a/bunny.lua b/bunny.lua index 7fadef3..80f7ae8 100644 --- a/bunny.lua +++ b/bunny.lua @@ -157,18 +157,18 @@ mobs:alias_mob("mobs:bunny", "mobs_animal:bunny") -- compatibility -- raw rabbit minetest.register_craftitem(":mobs:rabbit_raw", { - description = S("Raw Rabbit"), + description = S("Raw Rabbit") .. " (♥3)", inventory_image = "mobs_rabbit_raw.png", on_use = minetest.item_eat(3), - groups = {food_meat_raw = 1, food_rabbit_raw = 1, flammable = 2} + groups = {food_meat_raw = 1, food_rabbit_raw = 1, flammable = 2, eatable = 3} }) -- cooked rabbit minetest.register_craftitem(":mobs:rabbit_cooked", { - description = S("Cooked Rabbit"), + description = S("Cooked Rabbit") .. " (♥5)", inventory_image = "mobs_rabbit_cooked.png", on_use = minetest.item_eat(5), - groups = {food_meat = 1, food_rabbit = 1, flammable = 2} + groups = {food_meat = 1, food_rabbit = 1, flammable = 2, eatable = 5} }) minetest.register_craft({ diff --git a/chicken.lua b/chicken.lua index 7e7b0bb..003ab98 100644 --- a/chicken.lua +++ b/chicken.lua @@ -270,10 +270,10 @@ minetest.register_node(":mobs:egg", { -- fried egg minetest.register_craftitem(":mobs:chicken_egg_fried", { - description = S("Fried Egg"), + description = S("Fried Egg") .. " (♥2)", inventory_image = "mobs_chicken_egg_fried.png", on_use = minetest.item_eat(2), - groups = {food_egg_fried = 1, flammable = 2} + groups = {food_egg_fried = 1, flammable = 2, eatable = 2} }) minetest.register_craft({ @@ -284,18 +284,18 @@ minetest.register_craft({ -- raw chicken minetest.register_craftitem(":mobs:chicken_raw", { - description = S("Raw Chicken"), + description = S("Raw Chicken") .. " (♥2)", inventory_image = "mobs_chicken_raw.png", on_use = minetest.item_eat(2), - groups = {food_meat_raw = 1, food_chicken_raw = 1, flammable = 2} + groups = {food_meat_raw = 1, food_chicken_raw = 1, flammable = 2, eatable = 2} }) -- cooked chicken minetest.register_craftitem(":mobs:chicken_cooked", { - description = S("Cooked Chicken"), + description = S("Cooked Chicken") .. " (♥6)", inventory_image = "mobs_chicken_cooked.png", on_use = minetest.item_eat(6), - groups = {food_meat = 1, food_chicken = 1, flammable = 2} + groups = {food_meat = 1, food_chicken = 1, flammable = 2, eatable = 6} }) minetest.register_craft({ diff --git a/cow.lua b/cow.lua index dcf21a2..67a36db 100644 --- a/cow.lua +++ b/cow.lua @@ -173,19 +173,19 @@ mobs:alias_mob("mobs:cow", "mobs_animal:cow") -- compatibility -- bucket of milk minetest.register_craftitem(":mobs:bucket_milk", { - description = S("Bucket of Milk"), + description = S("Bucket of Milk") .. " (♥8)", inventory_image = "mobs_bucket_milk.png", stack_max = 1, on_use = minetest.item_eat(8, "bucket:bucket_empty"), - groups = {food_milk = 1, flammable = 3, drink = 1} + groups = {food_milk = 1, flammable = 3, drink = 1, eatable = 8} }) -- glass of milk minetest.register_craftitem(":mobs:glass_milk", { - description = S("Glass of Milk"), + description = S("Glass of Milk") .. " (♥2)", inventory_image = "mobs_glass_milk.png", on_use = minetest.item_eat(2, "vessels:drinking_glass"), - groups = {food_milk_glass = 1, flammable = 3, vessel = 1, drink = 1} + groups = {food_milk_glass = 1, flammable = 3, vessel = 1, drink = 1, eatable = 2} }) minetest.register_craft({ @@ -213,10 +213,10 @@ minetest.register_craft({ -- butter minetest.register_craftitem(":mobs:butter", { - description = S("Butter"), + description = S("Butter") .. " (♥1)", inventory_image = "mobs_butter.png", on_use = minetest.item_eat(1), - groups = {food_butter = 1, flammable = 2} + groups = {food_butter = 1, flammable = 2, eatable = 1} }) local salt_item = "default:sapling" -- some saplings are high in sodium @@ -233,10 +233,10 @@ minetest.register_craft({ -- cheese wedge minetest.register_craftitem(":mobs:cheese", { - description = S("Cheese"), + description = S("Cheese") .. " (♥4)", inventory_image = "mobs_cheese.png", on_use = minetest.item_eat(4), - groups = {food_cheese = 1, flammable = 2} + groups = {food_cheese = 1, flammable = 2, eatable = 4} }) minetest.register_craft({ diff --git a/rat.lua b/rat.lua index 6b06551..61bb768 100644 --- a/rat.lua +++ b/rat.lua @@ -92,10 +92,10 @@ mobs:alias_mob("mobs:rat", "mobs_animal:rat") -- compatibility -- cooked rat, yummy! minetest.register_craftitem(":mobs:rat_cooked", { - description = S("Cooked Rat"), + description = S("Cooked Rat") .. " (♥3)", inventory_image = "mobs_cooked_rat.png", on_use = minetest.item_eat(3), - groups = {food_rat = 1, flammable = 2} + groups = {food_rat = 1, flammable = 2, eatable = 3} }) minetest.register_craft({ diff --git a/sheep.lua b/sheep.lua index 6e165cc..75242b6 100644 --- a/sheep.lua +++ b/sheep.lua @@ -515,18 +515,18 @@ mobs:alias_mob("mobs:sheep", "mobs_animal:sheep_white") -- compatibility -- raw mutton minetest.register_craftitem(":mobs:mutton_raw", { - description = S("Raw Mutton"), + description = S("Raw Mutton") .. " (♥2)", inventory_image = "mobs_mutton_raw.png", on_use = minetest.item_eat(2), - groups = {food_meat_raw = 1, food_mutton_raw = 1, flammable = 2} + groups = {food_meat_raw = 1, food_mutton_raw = 1, flammable = 2, eatable = 2} }) -- cooked mutton minetest.register_craftitem(":mobs:mutton_cooked", { - description = S("Cooked Mutton"), + description = S("Cooked Mutton") .. " (♥6)", inventory_image = "mobs_mutton_cooked.png", on_use = minetest.item_eat(6), - groups = {food_meat = 1, food_mutton = 1, flammable = 2} + groups = {food_meat = 1, food_mutton = 1, flammable = 2, eatable = 6} }) minetest.register_craft({ diff --git a/warthog.lua b/warthog.lua index c57ec67..e567e29 100644 --- a/warthog.lua +++ b/warthog.lua @@ -104,18 +104,18 @@ mobs:alias_mob("mobs:pumba", "mobs_animal:pumba") -- compatibility -- raw porkchop minetest.register_craftitem(":mobs:pork_raw", { - description = S("Raw Porkchop"), + description = S("Raw Porkchop") .. " (♥4)", inventory_image = "mobs_pork_raw.png", on_use = minetest.item_eat(4), - groups = {food_meat_raw = 1, food_pork_raw = 1, flammable = 2} + groups = {food_meat_raw = 1, food_pork_raw = 1, flammable = 2, eatable = 4} }) -- cooked porkchop minetest.register_craftitem(":mobs:pork_cooked", { - description = S("Cooked Porkchop"), + description = S("Cooked Porkchop") .. " (♥8)", inventory_image = "mobs_pork_cooked.png", on_use = minetest.item_eat(8), - groups = {food_meat = 1, food_pork = 1, flammable = 2} + groups = {food_meat = 1, food_pork = 1, flammable = 2, eatable = 8} }) minetest.register_craft({ From 01f4922892ecac418ad7bde909b3cab874abd6b9 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Fri, 26 Jul 2024 17:10:17 +0100 Subject: [PATCH 08/12] use helper function for {eatable} --- bee.lua | 5 +++-- bunny.lua | 12 ++++++++---- chicken.lua | 18 ++++++++++++------ cow.lua | 24 ++++++++++++++++-------- rat.lua | 6 ++++-- sheep.lua | 12 ++++++++---- warthog.lua | 12 ++++++++---- 7 files changed, 59 insertions(+), 30 deletions(-) diff --git a/bee.lua b/bee.lua index 5eb00bb..f0403d5 100644 --- a/bee.lua +++ b/bee.lua @@ -73,12 +73,13 @@ mobs:alias_mob("mobs:bee", "mobs_animal:bee") -- honey minetest.register_craftitem(":mobs:honey", { - description = S("Honey") .. " (♥4)", + description = S("Honey"), inventory_image = "mobs_honey_inv.png", on_use = minetest.item_eat(4), - groups = {food_honey = 1, food_sugar = 1, flammable = 1, eatable = 4} + groups = {food_honey = 1, food_sugar = 1} }) +mobs.add_eatable("mobs:honey", 4) -- beehive (when placed spawns bee) minetest.register_node(":mobs:beehive", { diff --git a/bunny.lua b/bunny.lua index 80f7ae8..c74f1d0 100644 --- a/bunny.lua +++ b/bunny.lua @@ -157,20 +157,24 @@ mobs:alias_mob("mobs:bunny", "mobs_animal:bunny") -- compatibility -- raw rabbit minetest.register_craftitem(":mobs:rabbit_raw", { - description = S("Raw Rabbit") .. " (♥3)", + description = S("Raw Rabbit"), inventory_image = "mobs_rabbit_raw.png", on_use = minetest.item_eat(3), - groups = {food_meat_raw = 1, food_rabbit_raw = 1, flammable = 2, eatable = 3} + groups = {food_meat_raw = 1, food_rabbit_raw = 1} }) +mobs.add_eatable("mobs:rabbit_raw", 3) + -- cooked rabbit minetest.register_craftitem(":mobs:rabbit_cooked", { - description = S("Cooked Rabbit") .. " (♥5)", + description = S("Cooked Rabbit"), inventory_image = "mobs_rabbit_cooked.png", on_use = minetest.item_eat(5), - groups = {food_meat = 1, food_rabbit = 1, flammable = 2, eatable = 5} + groups = {food_meat = 1, food_rabbit = 1} }) +mobs.add_eatable("mobs:rabbit_cooked", 5) + minetest.register_craft({ type = "cooking", output = "mobs:rabbit_cooked", diff --git a/chicken.lua b/chicken.lua index 003ab98..82e874d 100644 --- a/chicken.lua +++ b/chicken.lua @@ -270,12 +270,14 @@ minetest.register_node(":mobs:egg", { -- fried egg minetest.register_craftitem(":mobs:chicken_egg_fried", { - description = S("Fried Egg") .. " (♥2)", + description = S("Fried Egg"), inventory_image = "mobs_chicken_egg_fried.png", on_use = minetest.item_eat(2), - groups = {food_egg_fried = 1, flammable = 2, eatable = 2} + groups = {food_egg_fried = 1} }) +mobs.add_eatable("mobs:chicken_egg_fried", 2) + minetest.register_craft({ type = "cooking", recipe = "mobs:egg", @@ -284,20 +286,24 @@ minetest.register_craft({ -- raw chicken minetest.register_craftitem(":mobs:chicken_raw", { - description = S("Raw Chicken") .. " (♥2)", + description = S("Raw Chicken"), inventory_image = "mobs_chicken_raw.png", on_use = minetest.item_eat(2), - groups = {food_meat_raw = 1, food_chicken_raw = 1, flammable = 2, eatable = 2} + groups = {food_meat_raw = 1, food_chicken_raw = 1} }) +mobs.add_eatable("mobs:chicken_raw", 2) + -- cooked chicken minetest.register_craftitem(":mobs:chicken_cooked", { - description = S("Cooked Chicken") .. " (♥6)", + description = S("Cooked Chicken"), inventory_image = "mobs_chicken_cooked.png", on_use = minetest.item_eat(6), - groups = {food_meat = 1, food_chicken = 1, flammable = 2, eatable = 6} + groups = {food_meat = 1, food_chicken = 1} }) +mobs.add_eatable("mobs:chicken_cooked", 6) + minetest.register_craft({ type = "cooking", recipe = "mobs:chicken_raw", diff --git a/cow.lua b/cow.lua index 67a36db..77017aa 100644 --- a/cow.lua +++ b/cow.lua @@ -173,21 +173,25 @@ mobs:alias_mob("mobs:cow", "mobs_animal:cow") -- compatibility -- bucket of milk minetest.register_craftitem(":mobs:bucket_milk", { - description = S("Bucket of Milk") .. " (♥8)", + description = S("Bucket of Milk"), inventory_image = "mobs_bucket_milk.png", stack_max = 1, on_use = minetest.item_eat(8, "bucket:bucket_empty"), - groups = {food_milk = 1, flammable = 3, drink = 1, eatable = 8} + groups = {food_milk = 1, drink = 1} }) +mobs.add_eatable("mobs:bucket_milk", 8) + -- glass of milk minetest.register_craftitem(":mobs:glass_milk", { - description = S("Glass of Milk") .. " (♥2)", + description = S("Glass of Milk"), inventory_image = "mobs_glass_milk.png", on_use = minetest.item_eat(2, "vessels:drinking_glass"), - groups = {food_milk_glass = 1, flammable = 3, vessel = 1, drink = 1, eatable = 2} + groups = {food_milk_glass = 1, vessel = 1, drink = 1} }) +mobs.add_eatable("mobs:glass_milk", 2) + minetest.register_craft({ output = "mobs:glass_milk 4", recipe = { @@ -213,12 +217,14 @@ minetest.register_craft({ -- butter minetest.register_craftitem(":mobs:butter", { - description = S("Butter") .. " (♥1)", + description = S("Butter"), inventory_image = "mobs_butter.png", on_use = minetest.item_eat(1), - groups = {food_butter = 1, flammable = 2, eatable = 1} + groups = {food_butter = 1} }) +mobs.add_eatable("mobs:butter", 1) + local salt_item = "default:sapling" -- some saplings are high in sodium if minetest.get_modpath("farming") and farming and farming.mod then @@ -233,12 +239,14 @@ minetest.register_craft({ -- cheese wedge minetest.register_craftitem(":mobs:cheese", { - description = S("Cheese") .. " (♥4)", + description = S("Cheese"), inventory_image = "mobs_cheese.png", on_use = minetest.item_eat(4), - groups = {food_cheese = 1, flammable = 2, eatable = 4} + groups = {food_cheese = 1} }) +mobs.add_eatable("mobs:cheese", 4) + minetest.register_craft({ type = "cooking", output = "mobs:cheese", diff --git a/rat.lua b/rat.lua index 61bb768..e2db83a 100644 --- a/rat.lua +++ b/rat.lua @@ -92,12 +92,14 @@ mobs:alias_mob("mobs:rat", "mobs_animal:rat") -- compatibility -- cooked rat, yummy! minetest.register_craftitem(":mobs:rat_cooked", { - description = S("Cooked Rat") .. " (♥3)", + description = S("Cooked Rat"), inventory_image = "mobs_cooked_rat.png", on_use = minetest.item_eat(3), - groups = {food_rat = 1, flammable = 2, eatable = 3} + groups = {food_rat = 1} }) +mobs.add_eatable("mobs:rat_cooked", 3) + minetest.register_craft({ type = "cooking", output = "mobs:rat_cooked", diff --git a/sheep.lua b/sheep.lua index 75242b6..80838b9 100644 --- a/sheep.lua +++ b/sheep.lua @@ -515,20 +515,24 @@ mobs:alias_mob("mobs:sheep", "mobs_animal:sheep_white") -- compatibility -- raw mutton minetest.register_craftitem(":mobs:mutton_raw", { - description = S("Raw Mutton") .. " (♥2)", + description = S("Raw Mutton"), inventory_image = "mobs_mutton_raw.png", on_use = minetest.item_eat(2), - groups = {food_meat_raw = 1, food_mutton_raw = 1, flammable = 2, eatable = 2} + groups = {food_meat_raw = 1, food_mutton_raw = 1} }) +mobs.add_eatable("mobs:mutton_raw", 2) + -- cooked mutton minetest.register_craftitem(":mobs:mutton_cooked", { - description = S("Cooked Mutton") .. " (♥6)", + description = S("Cooked Mutton"), inventory_image = "mobs_mutton_cooked.png", on_use = minetest.item_eat(6), - groups = {food_meat = 1, food_mutton = 1, flammable = 2, eatable = 6} + groups = {food_meat = 1, food_mutton = 1} }) +mobs.add_eatable("mobs:mutton_cooked", 6) + minetest.register_craft({ type = "cooking", output = "mobs:mutton_cooked", diff --git a/warthog.lua b/warthog.lua index e567e29..cd2d074 100644 --- a/warthog.lua +++ b/warthog.lua @@ -104,20 +104,24 @@ mobs:alias_mob("mobs:pumba", "mobs_animal:pumba") -- compatibility -- raw porkchop minetest.register_craftitem(":mobs:pork_raw", { - description = S("Raw Porkchop") .. " (♥4)", + description = S("Raw Porkchop"), inventory_image = "mobs_pork_raw.png", on_use = minetest.item_eat(4), - groups = {food_meat_raw = 1, food_pork_raw = 1, flammable = 2, eatable = 4} + groups = {food_meat_raw = 1, food_pork_raw = 1} }) +mobs.add_eatable("mobs:pork_raw", 4) + -- cooked porkchop minetest.register_craftitem(":mobs:pork_cooked", { - description = S("Cooked Porkchop") .. " (♥8)", + description = S("Cooked Porkchop"), inventory_image = "mobs_pork_cooked.png", on_use = minetest.item_eat(8), - groups = {food_meat = 1, food_pork = 1, flammable = 2, eatable = 8} + groups = {food_meat = 1, food_pork = 1} }) +mobs.add_eatable("mobs:pork_cooked", 8) + minetest.register_craft({ type = "cooking", output = "mobs:pork_cooked", From a240d0c937a7211b7236c47d6ea7f57c8be7eef9 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Fri, 2 Aug 2024 09:46:55 +0100 Subject: [PATCH 09/12] add esperanto translation (thx jadedctrl) --- locale/mobs_animal.eo.tr | 50 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 locale/mobs_animal.eo.tr diff --git a/locale/mobs_animal.eo.tr b/locale/mobs_animal.eo.tr new file mode 100644 index 0000000..456834d --- /dev/null +++ b/locale/mobs_animal.eo.tr @@ -0,0 +1,50 @@ +# textdomain: mobs_animal +Bee=Abelo +Honey=Mielo +Beehive=Abelujo +Honey Block=Miela bloko +Bunny=Kuniklo +Raw Rabbit=Kruda kuniklaĵo +Cooked Rabbit=Kuirita kuniklaĵo +Rabbit Hide=Kuniklofelo +Chicken=Koko +Chicken Egg=Koka ovo +Fried Egg=Kuirita ovo +Raw Chicken=Kruda kokaĵo +Cooked Chicken=Kuirita koko +Feather=Plumo +Cow already milked!=Bovo jam melkita! +Cow=Bovo +Bucket of Milk=Sitelo da lakto +Glass of Milk=Glaso da lakto +Butter=Butero +Cheese=Fromaĝo +Cheese Block=Fromaĝa bloko +Wooden Bucket of Milk=Ligna sitelo da lakto +Kitten=Katido +Hairball=Haraĵo +Panda=Ĉina urso +Penguin=Pingveno +Rat=Rato +Cooked Rat=Kuirita rataĵo +Black=Nigra +Blue=Blua +Brown=Bruna +Cyan=Bluverda +Dark Green=Malhela verda +Dark Grey=Malhela griza +Green=Verda +Grey=Griza +Magenta=Fuksina +Orange=Oranĝa +Pink=Rozkolora +Red=Ruĝa +Violet=Violkolora +White=Blanka +Yellow=Flava +@1 Sheep=@1 ŝafo +Raw Mutton=Kruda ŝafaĵo +Cooked Mutton=Kuirita ŝafaĵo +Warthog=Verukapro +Raw Porkchop=Kruda porkaĵo +Cooked Porkchop=Kuirita porkaĵo From 10865e9ab4aa8d0bfaba6936d57efd23187d8348 Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Fri, 9 Aug 2024 07:59:02 +0100 Subject: [PATCH 10/12] fix default check --- bee.lua | 7 +++++-- cow.lua | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bee.lua b/bee.lua index f0403d5..b878d22 100644 --- a/bee.lua +++ b/bee.lua @@ -1,6 +1,9 @@ -- Translation support local S = minetest.get_translator("mobs_animal") +-- check for default mod +local mod_def = minetest.get_modpath("default") + -- Bee by KrupnoPavel (.b3d model by sirrobzeroone) mobs:register_mob("mobs_animal:bee", { @@ -92,7 +95,7 @@ minetest.register_node(":mobs:beehive", { walkable = true, groups = {oddly_breakable_by_hand = 3, flammable = 1, disable_suffocation = 1}, is_ground_content = false, - sounds = default and default.node_sound_defaults(), + sounds = mod_def and default.node_sound_defaults(), on_construct = function(pos) @@ -166,7 +169,7 @@ minetest.register_node(":mobs:honey_block", { tiles = {"mobs_honey_block.png"}, groups = {snappy = 3, flammable = 2}, is_ground_content = false, - sounds = default and default.node_sound_dirt_defaults() + sounds = mod_def and default.node_sound_dirt_defaults() }) -- recipe diff --git a/cow.lua b/cow.lua index 77017aa..b8eadfd 100644 --- a/cow.lua +++ b/cow.lua @@ -1,6 +1,9 @@ -- Translation support local S = minetest.get_translator("mobs_animal") +-- check for default mod +local mod_def = minetest.get_modpath("default") + -- Cow by sirrobzeroone mobs:register_mob("mobs_animal:cow", { @@ -261,7 +264,7 @@ minetest.register_node(":mobs:cheeseblock", { tiles = {"mobs_cheeseblock.png"}, is_ground_content = false, groups = {oddly_breakable_by_hand = 3}, - sounds = default and default.node_sound_dirt_defaults() + sounds = mod_def and default.node_sound_dirt_defaults() }) minetest.register_craft({ From 53f72b8a9e8aca93534d0cc12590cc8830c6c42a Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Sat, 10 Aug 2024 14:10:22 +0100 Subject: [PATCH 11/12] tweak and tidy code --- bee.lua | 75 ++++++++++++------------------ bunny.lua | 44 ++++++++---------- chicken.lua | 116 ++++++++++++++++++----------------------------- cow.lua | 67 ++++++++++----------------- init.lua | 16 ++++--- kitten.lua | 56 +++++++++++------------ lucky_block.lua | 5 ++ panda.lua | 32 +++++-------- penguin.lua | 17 +++---- rat.lua | 17 +++---- readme.md | 2 +- settingtypes.txt | 1 + sheep.lua | 84 ++++++++++++++-------------------- warthog.lua | 56 ++++++++++------------- 14 files changed, 243 insertions(+), 345 deletions(-) diff --git a/bee.lua b/bee.lua index b878d22..957abb4 100644 --- a/bee.lua +++ b/bee.lua @@ -1,8 +1,5 @@ --- Translation support -local S = minetest.get_translator("mobs_animal") --- check for default mod -local mod_def = minetest.get_modpath("default") +local S = minetest.get_translator("mobs_animal") -- Bee by KrupnoPavel (.b3d model by sirrobzeroone) @@ -15,15 +12,11 @@ mobs:register_mob("mobs_animal:bee", { collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.5, 0.2}, visual = "mesh", mesh = "mobs_bee.b3d", - textures = { - {"mobs_bee.png"} - }, + textures = { {"mobs_bee.png"} }, blood_texture = "mobs_bee_inv.png", blood_amount = 1, makes_footstep_sound = false, - sounds = { - random = "mobs_bee" - }, + sounds = { random = "mobs_bee" }, walk_velocity = 1, jump = true, drops = { @@ -36,10 +29,8 @@ mobs:register_mob("mobs_animal:bee", { fall_speed = -3, animation = { speed_normal = 15, - stand_start = 0, - stand_end = 30, - walk_start = 35, - walk_end = 65 + stand_start = 0, stand_end = 30, + walk_start = 35, walk_end = 65 }, on_rightclick = function(self, clicker) @@ -51,6 +42,8 @@ mobs:register_mob("mobs_animal:bee", { -- end, }) +-- where to spawn + if not mobs.custom_spawn_animal then mobs:spawn({ @@ -65,16 +58,16 @@ if not mobs.custom_spawn_animal then }) end - -- spawn egg + mobs:register_egg("mobs_animal:bee", S("Bee"), "mobs_bee_inv.png") - -- compatibility (only required if moving from old mobs to mobs_redo) + mobs:alias_mob("mobs:bee", "mobs_animal:bee") - -- honey + minetest.register_craftitem(":mobs:honey", { description = S("Honey"), inventory_image = "mobs_honey_inv.png", @@ -84,7 +77,8 @@ minetest.register_craftitem(":mobs:honey", { mobs.add_eatable("mobs:honey", 4) --- beehive (when placed spawns bee) +-- beehive (1 in 4 chance of spawning bee when placed) + minetest.register_node(":mobs:beehive", { description = S("Beehive"), drawtype = "plantlike", @@ -95,7 +89,7 @@ minetest.register_node(":mobs:beehive", { walkable = true, groups = {oddly_breakable_by_hand = 3, flammable = 1, disable_suffocation = 1}, is_ground_content = false, - sounds = mod_def and default.node_sound_defaults(), + sounds = mobs.node_sound_defaults(), on_construct = function(pos) @@ -131,48 +125,42 @@ minetest.register_node(":mobs:beehive", { local hp = puncher and puncher:get_hp() - if hp then - puncher:set_hp(hp - 4) - end + if hp then puncher:set_hp(hp - 4) end end) end, allow_metadata_inventory_put = function(pos, listname, index, stack, player) - if listname == "beehive" then - return 0 - end + if listname == "beehive" then return 0 end return stack:get_count() end, - can_dig = function(pos,player) + can_dig = function(pos,player) -- can only dig when no honey inside local meta = minetest.get_meta(pos) - -- only dig beehive if no honey inside return meta:get_inventory():is_empty("beehive") end }) -- beehive recipe + minetest.register_craft({ output = "mobs:beehive", - recipe = { - {"mobs:bee","mobs:bee","mobs:bee"} - } + recipe = {{"mobs:bee","mobs:bee","mobs:bee"}} }) --- honey block +-- honey block and craft recipes + minetest.register_node(":mobs:honey_block", { description = S("Honey Block"), tiles = {"mobs_honey_block.png"}, groups = {snappy = 3, flammable = 2}, is_ground_content = false, - sounds = mod_def and default.node_sound_dirt_defaults() + sounds = mobs.node_sound_dirt_defaults() }) --- recipe minetest.register_craft({ output = "mobs:honey_block", recipe = { @@ -189,38 +177,31 @@ minetest.register_craft({ } }) - -- beehive workings + minetest.register_abm({ nodenames = {"mobs:beehive"}, interval = 12, chance = 6, catch_up = false, + action = function(pos, node) -- bee's only make honey during the day local tod = (minetest.get_timeofday() or 0) * 24000 - if tod < 5500 or tod > 18500 then - return - end + if tod < 5500 or tod > 18500 then return end - -- is hive full? - local meta = minetest.get_meta(pos) - if not meta then return end -- for older beehives + local meta = minetest.get_meta(pos) ; if not meta then return end local inv = meta:get_inventory() local honey = inv:get_stack("beehive", 1):get_count() - -- is hive full? - if honey > 11 then - return - end + if honey > 11 then return end -- return if hive full -- no flowers no honey, nuff said! if #minetest.find_nodes_in_area_under_air( - {x = pos.x - 4, y = pos.y - 3, z = pos.z - 4}, - {x = pos.x + 4, y = pos.y + 3, z = pos.z + 4}, - "group:flower") > 3 then + {x = pos.x - 4, y = pos.y - 3, z = pos.z - 4}, + {x = pos.x + 4, y = pos.y + 3, z = pos.z + 4}, "group:flower") > 3 then inv:add_item("beehive", "mobs:honey") end diff --git a/bunny.lua b/bunny.lua index c74f1d0..be7c3f7 100644 --- a/bunny.lua +++ b/bunny.lua @@ -1,4 +1,4 @@ --- Translation support + local S = minetest.get_translator("mobs_animal") -- Bunny by ExeterDad @@ -38,12 +38,9 @@ mobs:register_mob("mobs_animal:bunny", { fear_height = 2, animation = { speed_normal = 15, - stand_start = 1, - stand_end = 15, - walk_start = 16, - walk_end = 24, - punch_start = 16, - punch_end = 24 + stand_start = 1, stand_end = 15, + walk_start = 16, walk_end = 24, + punch_start = 16, punch_end = 24 }, follow = {"farming:carrot", "farming_plus:carrot_item", "default:grass_1"}, view_range = 8, @@ -93,9 +90,7 @@ mobs:register_mob("mobs_animal:bunny", { obj:set_properties({textures = {"mobs_bunny_evil.png"}, hp_max = 20}) -- remove old bunny - if obj:get_luaentity() then - mobs:remove(self, true) - end + if obj:get_luaentity() then mobs:remove(self, true) end end end, @@ -126,15 +121,16 @@ mobs:register_mob("mobs_animal:bunny", { end }) - -local spawn_on = "default:dirt_with_grass" - -if minetest.get_modpath("ethereal") then - spawn_on = "ethereal:prairie_dirt" -end +-- where to spawn if not mobs.custom_spawn_animal then + local spawn_on = "default:dirt_with_grass" + + if minetest.get_modpath("ethereal") then + spawn_on = "ethereal:prairie_dirt" + end + mobs:spawn({ name = "mobs_animal:bunny", nodes = {spawn_on}, @@ -148,14 +144,16 @@ if not mobs.custom_spawn_animal then }) end +-- spawn egg mobs:register_egg("mobs_animal:bunny", S("Bunny"), "mobs_bunny_inv.png", 0) +-- compatibility (only used for older mobs compatibility) -mobs:alias_mob("mobs:bunny", "mobs_animal:bunny") -- compatibility - +mobs:alias_mob("mobs:bunny", "mobs_animal:bunny") -- raw rabbit + minetest.register_craftitem(":mobs:rabbit_raw", { description = S("Raw Rabbit"), inventory_image = "mobs_rabbit_raw.png", @@ -166,6 +164,7 @@ minetest.register_craftitem(":mobs:rabbit_raw", { mobs.add_eatable("mobs:rabbit_raw", 3) -- cooked rabbit + minetest.register_craftitem(":mobs:rabbit_cooked", { description = S("Cooked Rabbit"), inventory_image = "mobs_rabbit_cooked.png", @@ -182,18 +181,15 @@ minetest.register_craft({ cooktime = 5 }) --- rabbit hide +-- rabbit hide and recipes + minetest.register_craftitem(":mobs:rabbit_hide", { description = S("Rabbit Hide"), inventory_image = "mobs_rabbit_hide.png", groups = {flammable = 2, pelt = 1} }) -minetest.register_craft({ - type = "fuel", - recipe = "mobs:rabbit_hide", - burntime = 2 -}) +minetest.register_craft({type = "fuel", recipe = "mobs:rabbit_hide", burntime = 2}) minetest.register_craft({ output = "mobs:leather", diff --git a/chicken.lua b/chicken.lua index 82e874d..98d276f 100644 --- a/chicken.lua +++ b/chicken.lua @@ -1,4 +1,4 @@ --- Translation support + local S = minetest.get_translator("mobs_animal") -- Chicken by JK Murray and Sirrobzeroone @@ -18,13 +18,9 @@ mobs:register_mob("mobs_animal:chicken", { {"mobs_chicken_brown.png"}, {"mobs_chicken_black.png"} }, - child_texture = { - {"mobs_chick.png"} - }, + child_texture = {{"mobs_chick.png"}}, makes_footstep_sound = true, - sounds = { - random = "mobs_chicken" - }, + sounds = {random = "mobs_chicken"}, walk_velocity = 1, run_velocity = 3, runaway = true, @@ -41,18 +37,10 @@ mobs:register_mob("mobs_animal:chicken", { fear_height = 5, animation = { speed_normal = 15, - stand_start = 1, - stand_end = 30, - stand_speed = 28, - stand1_start = 31, - stand1_end = 70, - stand1_speed = 32, - walk_start = 71, - walk_end = 90, - walk_speed = 24, - run_start = 91, - run_end = 110, - run_speed = 24 + stand_start = 1, stand_end = 30, stand_speed = 28, + stand1_start = 31, stand1_end = 70, stand1_speed = 32, + walk_start = 71, walk_end = 90, walk_speed = 24, + run_start = 91, run_end = 110, run_speed = 24 }, follow = { "farming:seed_wheat", "farming:seed_cotton", "farming:seed_barley", @@ -84,14 +72,10 @@ mobs:register_mob("mobs_animal:chicken", { do_custom = function(self, dtime) self.egg_timer = (self.egg_timer or 0) + dtime - if self.egg_timer < 10 then - return - end + if self.egg_timer < 10 then return end self.egg_timer = 0 - if self.child then - return - end + if self.child then return end local pos = self.object:get_pos() ; if not pos then return end @@ -99,11 +83,8 @@ mobs:register_mob("mobs_animal:chicken", { minetest.add_item(pos, "mobs:egg") - minetest.sound_play("default_place_node_hard", { - pos = pos, - gain = 1.0, - max_hear_distance = 5 - }, true) + minetest.sound_play("default_place_node_hard", + {pos = pos, gain = 1.0, max_hear_distance = 5}, true) elseif math.random(100) < 3 then minetest.add_item(pos, "mobs:chicken_feather") @@ -111,16 +92,16 @@ mobs:register_mob("mobs_animal:chicken", { end }) - -local spawn_on = {"default:dirt_with_grass"} - -if minetest.get_modpath("ethereal") then - spawn_on = {"ethereal:bamboo_dirt", "ethereal:prairie_dirt"} -end - +-- where to spawn if not mobs.custom_spawn_animal then + local spawn_on = {"default:dirt_with_grass"} + + if minetest.get_modpath("ethereal") then + spawn_on = {"ethereal:bamboo_dirt", "ethereal:prairie_dirt"} + end + mobs:spawn({ name = "mobs_animal:chicken", nodes = spawn_on, @@ -134,22 +115,24 @@ if not mobs.custom_spawn_animal then }) end +-- spawn egg mobs:register_egg("mobs_animal:chicken", S("Chicken"), "mobs_chicken_inv.png", 0) +-- compatibility with older mobs mod -mobs:alias_mob("mobs:chicken", "mobs_animal:chicken") -- compatibility - +mobs:alias_mob("mobs:chicken", "mobs_animal:chicken") -- egg entity mobs:register_arrow("mobs_animal:egg_entity", { visual = "sprite", - visual_size = {x=.5, y=.5}, + visual_size = {x = .5, y = .5}, textures = {"mobs_chicken_egg.png"}, velocity = 6, hit_player = function(self, player) + player:punch(minetest.get_player_by_name(self.playername) or self.object, 1.0, { full_punch_interval = 1.0, damage_groups = {fleshy = 1} @@ -157,6 +140,7 @@ mobs:register_arrow("mobs_animal:egg_entity", { end, hit_mob = function(self, player) + player:punch(self.object, 1.0, { full_punch_interval = 1.0, damage_groups = {fleshy = 1} @@ -165,16 +149,13 @@ mobs:register_arrow("mobs_animal:egg_entity", { hit_node = function(self, pos, node) - if math.random(10) > 1 then - return - end + if math.random(10) > 1 then return end pos.y = pos.y + 1 local nod = minetest.get_node_or_nil(pos) - if not nod - or not minetest.registered_nodes[nod.name] + if not nod or not minetest.registered_nodes[nod.name] or minetest.registered_nodes[nod.name].walkable == true then return end @@ -189,22 +170,17 @@ mobs:register_arrow("mobs_animal:egg_entity", { end }) - --- egg throwing item +-- egg throwing function local egg_GRAVITY = 9 local egg_VELOCITY = 19 --- shoot egg local mobs_shoot_egg = function (item, player, pointed_thing) local playerpos = player:get_pos() - minetest.sound_play("default_place_node_hard", { - pos = playerpos, - gain = 1.0, - max_hear_distance = 5 - }) + minetest.sound_play("default_place_node_hard", + {pos = playerpos, gain = 1.0, max_hear_distance = 5}, true) local obj = minetest.add_entity({ x = playerpos.x, @@ -220,16 +196,10 @@ local mobs_shoot_egg = function (item, player, pointed_thing) ent._is_arrow = true -- tell advanced mob protection this is an arrow obj:set_velocity({ - x = dir.x * egg_VELOCITY, - y = dir.y * egg_VELOCITY, - z = dir.z * egg_VELOCITY - }) + x = dir.x * egg_VELOCITY, y = dir.y * egg_VELOCITY, z = dir.z * egg_VELOCITY}) obj:set_acceleration({ - x = dir.x * -3, - y = -egg_GRAVITY, - z = dir.z * -3 - }) + x = dir.x * -3, y = -egg_GRAVITY, z = dir.z * -3}) -- pass player name to egg for chick ownership local ent2 = obj:get_luaentity() @@ -241,8 +211,8 @@ local mobs_shoot_egg = function (item, player, pointed_thing) return item end - -- egg + minetest.register_node(":mobs:egg", { description = S("Chicken Egg"), tiles = {"mobs_chicken_egg.png"}, @@ -259,16 +229,17 @@ minetest.register_node(":mobs:egg", { fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} }, groups = {food_egg = 1, snappy = 2, dig_immediate = 3}, + sounds = mobs.node_sound_defaults(), + after_place_node = function(pos, placer, itemstack) - if placer:is_player() then - minetest.set_node(pos, {name = "mobs:egg", param2 = 1}) - end + minetest.set_node(pos, {name = "mobs:egg", param2 = 1}) end, + on_use = mobs_shoot_egg }) +-- fried egg and recipe --- fried egg minetest.register_craftitem(":mobs:chicken_egg_fried", { description = S("Fried Egg"), inventory_image = "mobs_chicken_egg_fried.png", @@ -285,6 +256,7 @@ minetest.register_craft({ }) -- raw chicken + minetest.register_craftitem(":mobs:chicken_raw", { description = S("Raw Chicken"), inventory_image = "mobs_chicken_raw.png", @@ -294,7 +266,8 @@ minetest.register_craftitem(":mobs:chicken_raw", { mobs.add_eatable("mobs:chicken_raw", 2) --- cooked chicken +-- cooked chicken and recipe + minetest.register_craftitem(":mobs:chicken_cooked", { description = S("Cooked Chicken"), inventory_image = "mobs_chicken_cooked.png", @@ -310,15 +283,12 @@ minetest.register_craft({ output = "mobs:chicken_cooked" }) --- feather +-- feather and fuel + minetest.register_craftitem(":mobs:chicken_feather", { description = S("Feather"), inventory_image = "mobs_chicken_feather.png", groups = {flammable = 2, feather = 1} }) -minetest.register_craft({ - type = "fuel", - recipe = "mobs:chicken_feather", - burntime = 1 -}) +minetest.register_craft({type = "fuel", recipe = "mobs:chicken_feather", burntime = 1}) diff --git a/cow.lua b/cow.lua index b8eadfd..5ff24d0 100644 --- a/cow.lua +++ b/cow.lua @@ -1,8 +1,5 @@ --- Translation support -local S = minetest.get_translator("mobs_animal") --- check for default mod -local mod_def = minetest.get_modpath("default") +local S = minetest.get_translator("mobs_animal") -- Cow by sirrobzeroone @@ -24,9 +21,7 @@ mobs:register_mob("mobs_animal:cow", { {"mobs_cow2.png"} }, makes_footstep_sound = true, - sounds = { - random = "mobs_cow", - }, + sounds = {random = "mobs_cow"}, walk_velocity = 1, run_velocity = 2, jump = true, @@ -40,25 +35,12 @@ mobs:register_mob("mobs_animal:cow", { lava_damage = 5, light_damage = 0, animation = { - stand_start = 0, - stand_end = 30, - stand_speed = 20, - stand1_start = 35, - stand1_end = 75, - stand1_speed = 20, - walk_start = 85, - walk_end = 114, - walk_speed = 20, - run_start = 120, - run_end = 140, - run_speed = 30, - punch_start = 145, - punch_end = 160, - punch_speed = 20, - die_start = 165, - die_end = 185, - die_speed = 10, - die_loop = false + stand_start = 0, stand_end = 30, stand_speed = 20, + stand1_start = 35, stand1_end = 75, stand1_speed = 20, + walk_start = 85, walk_end = 114, walk_speed = 20, + run_start = 120, run_end = 140, run_speed = 30, + punch_start = 145, punch_end = 160, punch_speed = 20, + die_start = 165, die_end = 185, die_speed = 10, die_loop = false }, follow = { "farming:wheat", "default:grass_1", "farming:barley", @@ -79,9 +61,7 @@ mobs:register_mob("mobs_animal:cow", { if mobs:feed_tame(self, clicker, 8, true, true) then -- if fed 7x wheat or grass then cow can be milked again - if self.food and self.food > 6 then - self.gotten = false - end + if self.food and self.food > 6 then self.gotten = false end return end @@ -98,10 +78,7 @@ mobs:register_mob("mobs_animal:cow", { or item == "wooden_bucket:bucket_wood_empty" or item == "bucket_wooden:bucket_empty" then - --if self.gotten == true - if self.child == true then - return - end + if self.child == true then return end if self.gotten == true then @@ -143,14 +120,14 @@ mobs:register_mob("mobs_animal:cow", { self.food = (self.food or 0) + 1 - -- if cow replaces 8x grass then it can be milked again - if self.food >= 8 then + if self.food >= 8 then -- replace 8x grass and can be milked again self.food = 0 self.gotten = false end end }) +-- where to spawn if not mobs.custom_spawn_animal then @@ -167,14 +144,16 @@ if not mobs.custom_spawn_animal then }) end +-- spawn egg mobs:register_egg("mobs_animal:cow", S("Cow"), "mobs_cow_inv.png") +-- old mobs mod compatibility -mobs:alias_mob("mobs:cow", "mobs_animal:cow") -- compatibility - +mobs:alias_mob("mobs:cow", "mobs_animal:cow") -- bucket of milk + minetest.register_craftitem(":mobs:bucket_milk", { description = S("Bucket of Milk"), inventory_image = "mobs_bucket_milk.png", @@ -185,7 +164,7 @@ minetest.register_craftitem(":mobs:bucket_milk", { mobs.add_eatable("mobs:bucket_milk", 8) --- glass of milk +-- glass of milk and recipes minetest.register_craftitem(":mobs:glass_milk", { description = S("Glass of Milk"), inventory_image = "mobs_glass_milk.png", @@ -217,8 +196,8 @@ minetest.register_craft({ } }) +-- butter and recipe --- butter minetest.register_craftitem(":mobs:butter", { description = S("Butter"), inventory_image = "mobs_butter.png", @@ -240,7 +219,8 @@ minetest.register_craft({ replacements = {{"mobs:bucket_milk", "bucket:bucket_empty"}} }) --- cheese wedge +-- cheese wedge and recipe + minetest.register_craftitem(":mobs:cheese", { description = S("Cheese"), inventory_image = "mobs_cheese.png", @@ -258,13 +238,14 @@ minetest.register_craft({ replacements = {{"mobs:bucket_milk", "bucket:bucket_empty"}} }) --- cheese block +-- cheese block and recipe + minetest.register_node(":mobs:cheeseblock", { description = S("Cheese Block"), tiles = {"mobs_cheeseblock.png"}, is_ground_content = false, groups = {oddly_breakable_by_hand = 3}, - sounds = mod_def and default.node_sound_dirt_defaults() + sounds = mobs.node_sound_dirt_defaults() }) minetest.register_craft({ @@ -281,8 +262,8 @@ minetest.register_craft({ recipe = {{"mobs:cheeseblock"}} }) - -- check for either of the wood bucket mods and add compatibility + local wb = minetest.get_modpath("wooden_bucket") local bw = minetest.get_modpath("bucket_wooden") diff --git a/init.lua b/init.lua index 37d447c..752ec04 100644 --- a/init.lua +++ b/init.lua @@ -1,9 +1,11 @@ + +-- translation and mod path + +local S = minetest.get_translator("mobs_animal") local path = minetest.get_modpath(minetest.get_current_modname()) .. "/" --- Translation support -local S = minetest.get_translator("mobs_animal") - -- Check for custom mob spawn file + local input = io.open(path .. "spawn.lua", "r") if input then @@ -12,8 +14,8 @@ if input then input = nil end - -- helper function + local function ddoo(mob) if minetest.settings:get_bool("mobs_animal." .. mob) == false then @@ -25,6 +27,7 @@ local function ddoo(mob) end -- Animals + ddoo("chicken") -- JKmurray ddoo("cow") -- KrupnoPavel ddoo("rat") -- PilzAdam @@ -36,17 +39,16 @@ ddoo("kitten") -- Jordach/BFD ddoo("penguin") -- D00Med ddoo("panda") -- AspireMint +-- Load custom spawning if found --- Load custom spawning if mobs.custom_spawn_animal then dofile(path .. "spawn.lua") end - -- Lucky Blocks + if minetest.get_modpath("lucky_block") then dofile(path .. "lucky_block.lua") end - print ("[MOD] Mobs Animal loaded") diff --git a/kitten.lua b/kitten.lua index 821fb6e..2afe713 100644 --- a/kitten.lua +++ b/kitten.lua @@ -1,7 +1,10 @@ --- Translation support -local S = minetest.get_translator("mobs_animal") -local hairball = minetest.settings:get("mobs_hairball") +-- translation and hairball setting + +local S = minetest.get_translator("mobs_animal") +local hairball = minetest.settings:get_bool("mobs_animal.hairball") ~= false + +-- custom kitty types local kitten_types = { @@ -37,9 +40,7 @@ mobs:register_mob("mobs_animal:kitten", { {"mobs_kitten_sandy.png"} }, makes_footstep_sound = false, - sounds = { - random = "mobs_kitten" - }, + sounds = {random = "mobs_kitten"}, walk_velocity = 0.6, walk_chance = 15, run_velocity = 2, @@ -53,12 +54,9 @@ mobs:register_mob("mobs_animal:kitten", { fear_height = 3, animation = { speed_normal = 42, - stand_start = 97, - stand_end = 192, - walk_start = 0, - walk_end = 96, - stoodup_start = 0, - stoodup_end = 0, + stand_start = 97, stand_end = 192, + walk_start = 0, walk_end = 96, + stoodup_start = 0, stoodup_end = 0, }, follow = { "mobs_animal:rat", "group:food_fish_raw", @@ -111,19 +109,13 @@ mobs:register_mob("mobs_animal:kitten", { do_custom = function(self, dtime) - if hairball == "false" then - return - end + if not hairball then return end self.hairball_timer = (self.hairball_timer or 0) + dtime - if self.hairball_timer < 10 then - return - end + if self.hairball_timer < 10 then return end self.hairball_timer = 0 - if self.child or math.random(250) > 1 then - return - end + if self.child or math.random(250) > 1 then return end local pos = self.object:get_pos() @@ -134,15 +126,16 @@ mobs:register_mob("mobs_animal:kitten", { end }) - -local spawn_on = "default:dirt_with_grass" - -if minetest.get_modpath("ethereal") then - spawn_on = "ethereal:grove_dirt" -end +-- where to spawn if not mobs.custom_spawn_animal then + local spawn_on = "default:dirt_with_grass" + + if minetest.get_modpath("ethereal") then + spawn_on = "ethereal:grove_dirt" + end + mobs:spawn({ name = "mobs_animal:kitten", nodes = {spawn_on}, @@ -156,12 +149,15 @@ if not mobs.custom_spawn_animal then }) end +-- spawn egg mobs:register_egg("mobs_animal:kitten", S("Kitten"), "mobs_kitten_inv.png", 0) +-- compatibility with old mobs mod -mobs:alias_mob("mobs:kitten", "mobs_animal:kitten") -- compatibility +mobs:alias_mob("mobs:kitten", "mobs_animal:kitten") +-- hairball and items local hairball_items = { "default:stick", "default:coal_lump", "default:dry_shrub", "flowers:rose", @@ -177,6 +173,7 @@ local hairball_items = { minetest.register_craftitem(":mobs:hairball", { description = S("Hairball"), inventory_image = "mobs_hairball.png", + on_use = function(itemstack, user, pointed_thing) local pos = user:get_pos() @@ -184,8 +181,7 @@ minetest.register_craftitem(":mobs:hairball", { local newpos = {x = pos.x + dir.x, y = pos.y + dir.y + 1.5, z = pos.z + dir.z} local item = hairball_items[math.random(1, #hairball_items)] - if item ~= "" - and minetest.registered_items[item] then + if item ~= "" and minetest.registered_items[item] then minetest.add_item(newpos, {name = item}) end diff --git a/lucky_block.lua b/lucky_block.lua index eba0f7c..bf7f6a0 100644 --- a/lucky_block.lua +++ b/lucky_block.lua @@ -1,3 +1,6 @@ + +-- add lucky blocks + lucky_block:add_blocks({ {"spw", "mobs:sheep", 5}, {"spw", "mobs:rat", 5}, @@ -20,6 +23,8 @@ lucky_block:add_blocks({ {"dro", {"mobs:glass_milk"}, 5} }) +-- if nyancat found add special block + if minetest.registered_nodes["default:nyancat"] then lucky_block:add_blocks({ diff --git a/panda.lua b/panda.lua index 15915ee..d8c836b 100644 --- a/panda.lua +++ b/panda.lua @@ -1,10 +1,10 @@ --- Translation support + local S = minetest.get_translator("mobs_animal") -- Panda by AspireMint (CC BY-SA 3.0) mobs:register_mob("mobs_animal:panda", { -stepheight = 0.6, + stepheight = 0.6, type = "animal", passive = false, attack_type = "dogfight", @@ -19,9 +19,7 @@ stepheight = 0.6, collisionbox = {-0.4, -0.45, -0.4, 0.4, 0.45, 0.4}, visual = "mesh", mesh = "mobs_panda.b3d", - textures = { - {"mobs_panda.png"} - }, + textures = {{"mobs_panda.png"}}, makes_footstep_sound = true, sounds = { random = "mobs_panda", @@ -43,21 +41,13 @@ stepheight = 0.6, fear_height = 6, animation = { speed_normal = 15, - stand_start = 130, - stand_end = 270, - stand1_start = 0, - stand1_end = 0, - stand2_start = 1, - stand2_end = 1, - stand3_start = 2, - stand3_end = 2, - walk_start = 10, - walk_end = 70, - run_start = 10, - run_end = 70, - punch_start = 80, - punch_end = 120, - -- 0 = rest, 1 = hiding (covers eyes), 2 = surprised + stand_start = 130, stand_end = 270, + stand1_start = 0, stand1_end = 0, -- rest + stand2_start = 1, stand2_end = 1, -- covers eyes + stand3_start = 2, stand3_end = 2, -- surprised + walk_start = 10, walk_end = 70, + run_start = 10, run_end = 70, + punch_start = 80, punch_end = 120 }, on_rightclick = function(self, clicker) @@ -68,6 +58,7 @@ stepheight = 0.6, end }) +-- where to spawn (ethereal bamboo biome only) if minetest.get_modpath("ethereal") and not mobs.custom_spawn_animal then @@ -84,5 +75,6 @@ if minetest.get_modpath("ethereal") and not mobs.custom_spawn_animal then }) end +-- spawn egg mobs:register_egg("mobs_animal:panda", S("Panda"), "mobs_panda_inv.png") diff --git a/penguin.lua b/penguin.lua index 97a2135..d2292e2 100644 --- a/penguin.lua +++ b/penguin.lua @@ -1,4 +1,4 @@ --- Translation support + local S = minetest.get_translator("mobs_animal") -- Penguin by D00Med @@ -15,9 +15,7 @@ stepheight = 0.6, visual = "mesh", mesh = "mobs_penguin.b3d", visual_size = {x = 0.25, y = 0.25}, - textures = { - {"mobs_penguin.png"} - }, + textures = {{"mobs_penguin.png"}}, sounds = {}, makes_footstep_sound = true, walk_velocity = 1, @@ -34,12 +32,9 @@ stepheight = 0.6, fear_height = 2, animation = { speed_normal = 15, - stand_start = 1, - stand_end = 20, - walk_start = 25, - walk_end = 45, - fly_start = 75, -- swim animation - fly_end = 95 + stand_start = 1, stand_end = 20, + walk_start = 25, walk_end = 45, + fly_start = 75, fly_end = 95 -- swim animation -- 50-70 is slide/water idle }, fly_in = {"default:water_source", "default:water_flowing"}, @@ -59,6 +54,7 @@ stepheight = 0.6, end }) +-- where to spawn if not mobs.custom_spawn_animal then @@ -74,5 +70,6 @@ if not mobs.custom_spawn_animal then }) end +-- spawn egg mobs:register_egg("mobs_animal:penguin", S("Penguin"), "mobs_penguin_inv.png") diff --git a/rat.lua b/rat.lua index e2db83a..adc7e74 100644 --- a/rat.lua +++ b/rat.lua @@ -1,10 +1,10 @@ --- Translation support + local S = minetest.get_translator("mobs_animal") -- Rat by KPavel and PilzAdam (B3D model by sirrobzeroone) mobs:register_mob("mobs_animal:rat", { -stepheight = 0.6, + stepheight = 0.6, type = "animal", passive = true, hp_min = 1, @@ -18,9 +18,7 @@ stepheight = 0.6, {"mobs_rat2.png"} }, makes_footstep_sound = false, - sounds = { - random = "mobs_rat" - }, + sounds = {random = "mobs_rat"}, walk_velocity = 1, run_velocity = 2, runaway = true, @@ -59,8 +57,8 @@ stepheight = 0.6, ]] }) - -- example on_spawn function + local function rat_spawn(self, pos) self = self:get_luaentity() print (self.name, pos.x, pos.y, pos.z) @@ -68,6 +66,7 @@ local function rat_spawn(self, pos) self.health = 100 end +-- where to spawn if not mobs.custom_spawn_animal then @@ -83,14 +82,16 @@ if not mobs.custom_spawn_animal then }) end +-- spawn egg mobs:register_egg("mobs_animal:rat", S("Rat"), "mobs_rat_inv.png") +-- compatibility with older mobs mod -mobs:alias_mob("mobs:rat", "mobs_animal:rat") -- compatibility - +mobs:alias_mob("mobs:rat", "mobs_animal:rat") -- cooked rat, yummy! + minetest.register_craftitem(":mobs:rat_cooked", { description = S("Cooked Rat"), inventory_image = "mobs_cooked_rat.png", diff --git a/readme.md b/readme.md index 06ee023..792cf56 100644 --- a/readme.md +++ b/readme.md @@ -17,7 +17,7 @@ Wanders around eating grass/wheat and can be right-clicked with empty bucket to --- ### Kitten -Found on green grass these cute cats walk around and can be picked up and placed in inventory as pets or right-clicked with 4x live rats or raw fish (found in ethereal) and tamed. They can sometimes leave you little gifts of a hairball. +Found on green grass these cute cats walk around and can be picked up and placed in inventory as pets or right-clicked with 4x live rats or raw fish (found in ethereal) and tamed. They can sometimes leave you little gifts of a hairball, remember to check just incase it contains an item. --- ### Rat diff --git a/settingtypes.txt b/settingtypes.txt index 2cc549a..fbc8178 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -8,3 +8,4 @@ mobs_animal.penguin (Enable Penguin) bool true mobs_animal.rat (Enable Rat) bool true mobs_animal.sheep (Enable Sheep) bool true mobs_animal.warthog (Enable Warthog) bool true +mobs_animal.hairball (Enable Kitten Hairball drops) bool true diff --git a/sheep.lua b/sheep.lua index 80838b9..c886d8e 100644 --- a/sheep.lua +++ b/sheep.lua @@ -1,7 +1,11 @@ --- Translation support -local S = minetest.get_translator("mobs_animal") +-- translation and localize function + +local S = minetest.get_translator("mobs_animal") local random = math.random + +-- sheep colour table + local all_colours = { {"black", S("Black"), "#212121b0"}, -- referenced down in mobs:spawn {"blue", S("Blue"), "#015dbb70"}, @@ -20,7 +24,6 @@ local all_colours = { {"yellow", S("Yellow"), "#fff80070"} } - -- Sheep by PilzAdam/K Pavel, texture converted to minetest by AMMOnym from Summerfield pack for _, col in ipairs(all_colours) do @@ -87,9 +90,7 @@ for _, col in ipairs(all_colours) do }, gotten_texture = {"mobs_sheep_base.png^mobs_sheep_shaved.png"}, makes_footstep_sound = true, - sounds = { - random = "mobs_sheep" - }, + sounds = {random = "mobs_sheep"}, walk_velocity = 1, run_velocity = 2, runaway = true, @@ -101,17 +102,13 @@ for _, col in ipairs(all_colours) do lava_damage = 5, light_damage = 0, animation = { - speed_normal = 15, - speed_run = 15, - stand_start = 0, - stand_end = 80, - walk_start = 81, - walk_end = 100, - die_start = 1, -- we dont have a specific death animation so we will - die_end = 2, -- re-use 2 standing frames at a speed of 1 fps and - die_speed = 1, -- have mob rotate when dying. - die_loop = false, - die_rotate = true + speed_normal = 15, speed_run = 15, + stand_start = 0, stand_end = 80, + walk_start = 81, walk_end = 100, + -- no death animation so we'll re-use 2 standing frames at a speed of 1 fps + -- and have mob rotate while dying. + die_start = 1, die_end = 2, die_speed = 1, + die_loop = false, die_rotate = true }, follow = { "farming:wheat", "default:grass_1", "farming:barley", @@ -183,24 +180,17 @@ for _, col in ipairs(all_colours) do mob:set_properties({ textures = {textures}, visual_size = { - x = parent1.base_size.x * .5, - y = parent1.base_size.y * .5 + x = parent1.base_size.x * .5, y = parent1.base_size.y * .5 }, collisionbox = { - parent1.base_colbox[1] * .5, - parent1.base_colbox[2] * .5, - parent1.base_colbox[3] * .5, - parent1.base_colbox[4] * .5, - parent1.base_colbox[5] * .5, - parent1.base_colbox[6] * .5 + parent1.base_colbox[1] * .5, parent1.base_colbox[2] * .5, + parent1.base_colbox[3] * .5, parent1.base_colbox[4] * .5, + parent1.base_colbox[5] * .5, parent1.base_colbox[6] * .5 }, selectionbox = { - parent1.base_selbox[1] * .5, - parent1.base_selbox[2] * .5, - parent1.base_selbox[3] * .5, - parent1.base_selbox[4] * .5, - parent1.base_selbox[5] * .5, - parent1.base_selbox[6] * .5 + parent1.base_selbox[1] * .5, parent1.base_selbox[2] * .5, + parent1.base_selbox[3] * .5, parent1.base_selbox[4] * .5, + parent1.base_selbox[5] * .5, parent1.base_selbox[6] * .5 } }) @@ -279,10 +269,8 @@ for _, col in ipairs(all_colours) do -- are we giving a haircut> if itemname == "mobs:shears" then - if self.gotten ~= false - or self.child ~= false - or name ~= self.owner - or not minetest.get_modpath("wool") then + if self.gotten ~= false or self.child ~= false + or name ~= self.owner or not minetest.get_modpath("wool") then return end @@ -297,10 +285,7 @@ for _, col in ipairs(all_colours) do if obj then obj:set_velocity({ - x = random(-1, 1), - y = 5, - z = random(-1, 1) - }) + x = random(-1, 1), y = 5, z = random(-1, 1)}) end item:add_wear(650) -- 100 uses @@ -318,18 +303,15 @@ for _, col in ipairs(all_colours) do -- are we coloring? if itemname:find("dye:") then - if self.gotten == false - and self.child == false - and self.tamed == true - and name == self.owner then + if self.gotten == false and self.child == false + and self.tamed == true and name == self.owner then local colr = string.split(itemname, ":")[2] for _,c in pairs(all_colours) do -- only dye if colour option available and sheep not same colour - if c[1] == colr - and self.name ~= "mobs_animal:sheep_" .. colr then + if c[1] == colr and self.name ~= "mobs_animal:sheep_" .. colr then local pos = self.object:get_pos() @@ -393,6 +375,7 @@ for _, col in ipairs(all_colours) do mobs:alias_mob("mobs:sheep_" .. col[1], "mobs_animal:sheep_" .. col[1]) end +-- where to spawn if not mobs.custom_spawn_animal then @@ -457,8 +440,8 @@ if not mobs.custom_spawn_animal then local entity = mobs:add_mob(pos, {name = "mobs_animal:sheep_" .. types, child = lamb}) --- nil check -if not entity then return end + -- nil check + if not entity then return end if not lamb then -- Set horns attribute, lower height will be rarer. @@ -510,10 +493,12 @@ if not entity then return end }) end +-- compatibility with older mobs mod -mobs:alias_mob("mobs:sheep", "mobs_animal:sheep_white") -- compatibility +mobs:alias_mob("mobs:sheep", "mobs_animal:sheep_white") -- raw mutton + minetest.register_craftitem(":mobs:mutton_raw", { description = S("Raw Mutton"), inventory_image = "mobs_mutton_raw.png", @@ -523,7 +508,8 @@ minetest.register_craftitem(":mobs:mutton_raw", { mobs.add_eatable("mobs:mutton_raw", 2) --- cooked mutton +-- cooked mutton and recipe + minetest.register_craftitem(":mobs:mutton_cooked", { description = S("Cooked Mutton"), inventory_image = "mobs_mutton_cooked.png", diff --git a/warthog.lua b/warthog.lua index cd2d074..df0ea82 100644 --- a/warthog.lua +++ b/warthog.lua @@ -1,4 +1,4 @@ --- Translation support + local S = minetest.get_translator("mobs_animal") -- Warthog originally by KrupnoPavel, B3D model by sirrobzeroone @@ -19,9 +19,7 @@ mobs:register_mob("mobs_animal:pumba", { collisionbox = {-0.4, -0.01, -0.4, 0.4, 0.95, 0.4}, visual = "mesh", mesh = "mobs_pumba.b3d", - textures = { - {"mobs_pumba.png"} - }, + textures = {{"mobs_pumba.png"}}, makes_footstep_sound = true, sounds = { random = "mobs_pig", @@ -43,18 +41,12 @@ mobs:register_mob("mobs_animal:pumba", { fear_height = 2, animation = { speed_normal = 15, - stand_start = 25, - stand_end = 55, - walk_start = 70, - walk_end = 100, - punch_start = 70, - punch_end = 100, - - die_start = 1, -- we dont have a specific death animation so we will - die_end = 2, -- re-use 2 standing frames at a speed of 1 fps and - die_speed = 1, -- have mob rotate when dying. - die_loop = false, - die_rotate = true + stand_start = 25, stand_end = 55, + walk_start = 70, walk_end = 100, + punch_start = 70, punch_end = 100, + -- no specific dying animation, so use 2 frames at 1fps and rotate + die_start = 1, die_end = 2, die_speed = 1, + die_loop = false, die_rotate = true }, on_rightclick = function(self, clicker) @@ -65,22 +57,18 @@ mobs:register_mob("mobs_animal:pumba", { end }) - -local spawn_on = {"default:dirt_with_grass"} -local spawn_by = {"group:grass"} - -if minetest.get_mapgen_setting("mg_name") ~= "v6" then - spawn_on = {"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass"} - spawn_by = {"group:dry_grass"} -end - -if minetest.get_modpath("ethereal") then - spawn_on = {"ethereal:mushroom_dirt"} - spawn_by = {"flowers:mushroom_brown", "flowers:mushroom_red"} -end +-- where to spawn if not mobs.custom_spawn_animal then + local spawn_on = {"default:dirt_with_grass", "default:dry_dirt_with_dry_grass"} + local spawn_by = {"group:grass"} + + if minetest.get_modpath("ethereal") then + spawn_on = {"ethereal:mushroom_dirt"} + spawn_by = {"flowers:mushroom_brown", "flowers:mushroom_red"} + end + mobs:spawn({ name = "mobs_animal:pumba", nodes = spawn_on, @@ -94,15 +82,16 @@ if not mobs.custom_spawn_animal then }) end - -- spawn egg + mobs:register_egg("mobs_animal:pumba", S("Warthog"), "mobs_pumba_inv.png") +-- old mobs mod compatibility -mobs:alias_mob("mobs:pumba", "mobs_animal:pumba") -- compatibility - +mobs:alias_mob("mobs:pumba", "mobs_animal:pumba") -- raw porkchop + minetest.register_craftitem(":mobs:pork_raw", { description = S("Raw Porkchop"), inventory_image = "mobs_pork_raw.png", @@ -112,7 +101,8 @@ minetest.register_craftitem(":mobs:pork_raw", { mobs.add_eatable("mobs:pork_raw", 4) --- cooked porkchop +-- cooked porkchop and recipe + minetest.register_craftitem(":mobs:pork_cooked", { description = S("Cooked Porkchop"), inventory_image = "mobs_pork_cooked.png", From fa3e48166d9eb39538d3d55cee22de7e1f9cbe6f Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Sat, 31 Aug 2024 12:07:32 +0100 Subject: [PATCH 12/12] better butter --- init.lua | 2 +- textures/mobs_butter.png | Bin 181 -> 181 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 752ec04..fdca8c6 100644 --- a/init.lua +++ b/init.lua @@ -51,4 +51,4 @@ if minetest.get_modpath("lucky_block") then dofile(path .. "lucky_block.lua") end -print ("[MOD] Mobs Animal loaded") +print ("[MOD] Mobs Redo Animals loaded") diff --git a/textures/mobs_butter.png b/textures/mobs_butter.png index 2e8434971e254a57de3f2d996b4681d787ceb1f2..ccc5f565782d5c9de935661086cc6c9c91add516 100644 GIT binary patch delta 32 qcmV+*0N?+$0kr{;DHZ^4Y(+5y$)5r5w*>#`0RQQ9#;n&Nkw13RVGfu8 delta 32 ocmdnWxRr5&rdV=*j