diff --git a/mods/mobs/bunny.lua b/mods/mobs/bunny.lua index be3c13b2..9ed93978 100755 --- a/mods/mobs/bunny.lua +++ b/mods/mobs/bunny.lua @@ -43,7 +43,11 @@ mobs:register_mob("mobs:bunny", { }, -- follows carrot from farming redo follow = "farming:carrot", - view_range = 8, + view_range = 8, + -- eat carrots + replace_rate = 80, + replace_what = {"farming:carrot_7", "farming:carrot_8", "farming_plus:carrot"}, + replace_with = "air", -- right click to pick up rabbit on_rightclick = function(self, clicker) @@ -68,4 +72,4 @@ mobs:register_mob("mobs:bunny", { }) mobs:register_spawn("mobs:bunny", {"default:dirt_with_grass"}, 20, 8, 12000, 1, 31000) -mobs:register_egg("mobs:bunny", "bunny", "mobs_bunny_inv.png", 0) +mobs:register_egg("mobs:bunny", "Bunny", "mobs_bunny_inv.png", 0) diff --git a/mods/mobs/chicken.lua b/mods/mobs/chicken.lua index 4dc693eb..135f6d8a 100755 --- a/mods/mobs/chicken.lua +++ b/mods/mobs/chicken.lua @@ -72,10 +72,11 @@ mobs:register_mob("mobs:chicken", { end self.food = (self.food or 0) + 1 if self.food >= 4 then - -- I dont know what do you want she make - self.food = 0 + self.food = 0 + if self.child == false then self.horny = true end + self.gotten = false -- reset self.tamed = true - minetest.sound_play("mobs_chicken", {object = self.object,gain = 1.0,max_hear_distance = 32,loop = false,}) + minetest.sound_play("mobs_chicken", {object = self.object,gain = 1.0,max_hear_distance = 16,loop = false,}) end return tool else diff --git a/mods/mobs/init.lua b/mods/mobs/init.lua index 2f44eafa..de3966e2 100755 --- a/mods/mobs/init.lua +++ b/mods/mobs/init.lua @@ -2,7 +2,7 @@ dofile(minetest.get_modpath("mobs").."/api.lua") --- Animals inc. Krupnovpavel's warthog/bee, JKmurray's chicken, ExeterDad's bunny +-- Animals inc. Krupnovpavel's warthog/bee, JKmurray's chicken, ExeterDad's bunny, Jordach/BFD's kitten dofile(minetest.get_modpath("mobs").."/chicken.lua") dofile(minetest.get_modpath("mobs").."/cow.lua") @@ -11,8 +11,6 @@ dofile(minetest.get_modpath("mobs").."/sheep.lua") dofile(minetest.get_modpath("mobs").."/warthog.lua") dofile(minetest.get_modpath("mobs").."/bee.lua") dofile(minetest.get_modpath("mobs").."/bunny.lua") - --- Animals/Kittens from Jordach BFD subgame dofile(minetest.get_modpath("mobs").."/kitten.lua") -- Monsters @@ -38,7 +36,6 @@ dofile(minetest.get_modpath("mobs").."/spider.lua") dofile(minetest.get_modpath("mobs").."/npc.lua") -- Creeper (fast impl by davedevils) - dofile(minetest.get_modpath("mobs").."/creeper.lua") -- Meat & Cooked Meat diff --git a/mods/mobs/kitten.lua b/mods/mobs/kitten.lua index f1290b7e..4052e41e 100755 --- a/mods/mobs/kitten.lua +++ b/mods/mobs/kitten.lua @@ -1,65 +1,14 @@ -local kitten_nodes = { -"wool:black", -"wool:blue", -"wool:brown", -"wool:cyan", -"wool:dark_green", -"wool:dark_grey", -"wool:green", -"wool:grey", -"wool:magenta", -"wool:orange", -"wool:pink", -"wool:red", -"wool:violet", -"wool:white", -"wool:yellow", -"carpet:black", -"carpet:blue", -"carpet:brown", -"carpet:cyan", -"carpet:dark_green", -"carpet:dark_grey", -"carpet:green", -"carpet:grey", -"carpet:magenta", -"carpet:orange", -"carpet:pink", -"carpet:red", -"carpet:violet", -"carpet:white", -"carpet:yellow", -"deco:furnace_active", -"beds:bed_bottom", -"beds:bed_top", -"beds:bed_top_red", -"beds:bed_top_orange", -"beds:bed_top_yellow", -"beds:bed_top_green", -"beds:bed_top_blue", -"beds:bed_top_violet", -"beds:bed_top_black", -"beds:bed_top_grey", -"beds:bed_top_white", -"beds:bed_bottom_red", -"beds:bed_bottom_orange", -"beds:bed_bottom_yellow", -"beds:bed_bottom_green", -"beds:bed_bottom_blue", -"beds:bed_bottom_violet", -"beds:bed_bottom_black", -"beds:bed_bottom_grey", -"beds:bed_bottom_white", -} - - -mobs:register_spawn("mobs:kitten", {"default:dirt_with_grass"}, 20, 0, 12000, 1, 31000) +-- Kitten by Jordach / BFD mobs:register_mob("mobs:kitten", { + -- animal, monster, npc type = "animal", - hp_min = 5, - hp_max = 10, + -- is it aggressive + passive = true, + -- health & armor + hp_min = 5, hp_max = 10, armor = 200, + -- textures and model collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.1, 0.3}, visual = "mesh", visual_size = {x=0.5, y=0.5}, @@ -71,40 +20,38 @@ mobs:register_mob("mobs:kitten", { texture_3 = {"mobs_kitten_ginger.png"}, texture_4 = {"mobs_kitten_sandy.png"}, }, + blood_texture = "mobs_blood.png", + -- sounds makes_footstep_sound = false, - view_range = 16, + sounds = { + random = "mobs_kitten", + }, + -- speed and jump walk_velocity = 0.6, + jump = false, + -- drops sometimes coins drops = { {name = "maptools:copper_coin", chance = 10, min = 1, max = 1,}, }, + -- damaged by water_damage = 1, lava_damage = 5, - on_rightclick = nil, - armor = 200, - sounds = { - random = "mobs_kitten", - }, + -- model animation animation = { - stand_start = 97, - stand_end = 192, - walk_start = 0, - walk_end = 96, speed_normal = 42, + stand_start = 97, stand_end = 192, + walk_start = 0, walk_end = 96, }, - + -- follows rat follow = "mobs:rat", view_range = 8, --- jump = true, --- step = 0.5, - passive = true, - blood_texture = "mobs_blood.png", - + -- feed with raw fish to tame or right click to pick up on_rightclick = function(self, clicker) local item = clicker:get_wielded_item() - if item:get_name() == "fishing:fish_raw" then + if item:get_name() == "fishing:fish_raw" or item:get_name() == "ethereal:fish_raw" then if not minetest.setting_getbool("creative_mode") then item:take_item() clicker:set_wielded_item(item) @@ -117,5 +64,12 @@ mobs:register_mob("mobs:kitten", { end return end + if clicker:is_player() and clicker:get_inventory() then + clicker:get_inventory():add_item("main", "mobs:kitten") + self.object:remove() + end end }) + +mobs:register_spawn("mobs:kitten", {"default:dirt_with_grass"}, 20, 0, 12000, 1, 31000) +mobs:register_egg("mobs:kitten", "Kitten", "mobs_kitten_inv.png", 0) diff --git a/mods/mobs/sheep.lua b/mods/mobs/sheep.lua index b5ce0a3f..b20433e9 100755 --- a/mods/mobs/sheep.lua +++ b/mods/mobs/sheep.lua @@ -75,16 +75,18 @@ mobs:register_mob("mobs:sheep", { end return end - if clicker:get_inventory() and not self.gotten and self.child == false then + -- need shears to get wool from sheep + if clicker:get_inventory() and item:get_name() == "mobs:shears" and not self.gotten and self.child == false then self.gotten = true -- shaved if minetest.registered_items["wool:white"] then clicker:get_inventory():add_item("main", ItemStack("wool:white "..math.random(1,3))) + item:add_wear(65535/100) + clicker:set_wielded_item(item) end self.object:set_properties({ textures = {"mobs_sheep_shaved.png"}, mesh = "mobs_sheep_shaved.x", }) - else print ("shaved already!") end end, }) @@ -92,3 +94,25 @@ mobs:register_mob("mobs:sheep", { mobs:register_spawn("mobs:sheep", {"default:dirt_with_grass"}, 20, 8, 9000, 1, 31000) -- register spawn egg mobs:register_egg("mobs:sheep", "Sheep", "wool_white.png", 1) + +-- shears tool (right click sheep to shear) +minetest.register_tool("mobs:shears", { + description = "Steel Shears (right-click sheep to shear)", + inventory_image = "mobs_shears.png", + tool_capabilities = { + full_punch_interval = 1, + max_drop_level=1, + groupcaps={ + snappy={times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=30, maxlevel=2}, + }, + damage_groups = {fleshy=0}, + } +}) + +minetest.register_craft({ + output = 'mobs:shears', + recipe = { + {'', 'default:steel_ingot', ''}, + {'', 'group:stick', 'default:steel_ingot'}, + } +}) diff --git a/mods/mobs/spider.lua b/mods/mobs/spider.lua index c4fd053f..fae46785 100755 --- a/mods/mobs/spider.lua +++ b/mods/mobs/spider.lua @@ -38,7 +38,7 @@ mobs:register_mob("mobs:spider", { -- drops string with a chance of sandstone or crystal spike if Ethereal installed drops = { {name = "farming:string", - chance = 2, min = 2, max = 3,}, + chance = 2, min = 1, max = 3,}, {name = "mobs:meat_raw", chance = 4, min = 1, max = 2,}, {name = "maptools:copper_coin", @@ -89,7 +89,7 @@ minetest.register_node("mobs:spider_cobweb", { sounds = default.node_sound_leaves_defaults(), }) --- Spider Cobweb craft +-- Spider Cobweb craft (MFF : indentation modifié) minetest.register_craft( { output = "mobs:spider_cobweb", recipe = { diff --git a/mods/mobs/textures/mobs_bunny_brown.png b/mods/mobs/textures/mobs_bunny_brown.png index eb8a6828..3a71d940 100755 Binary files a/mods/mobs/textures/mobs_bunny_brown.png and b/mods/mobs/textures/mobs_bunny_brown.png differ diff --git a/mods/mobs/textures/mobs_bunny_grey.png b/mods/mobs/textures/mobs_bunny_grey.png index f1f6e250..d41d6c18 100755 Binary files a/mods/mobs/textures/mobs_bunny_grey.png and b/mods/mobs/textures/mobs_bunny_grey.png differ diff --git a/mods/mobs/textures/mobs_bunny_inv.png b/mods/mobs/textures/mobs_bunny_inv.png index 3d1b3954..762b713a 100755 Binary files a/mods/mobs/textures/mobs_bunny_inv.png and b/mods/mobs/textures/mobs_bunny_inv.png differ diff --git a/mods/mobs/textures/mobs_bunny_white.png b/mods/mobs/textures/mobs_bunny_white.png index 752e3806..0445e882 100755 Binary files a/mods/mobs/textures/mobs_bunny_white.png and b/mods/mobs/textures/mobs_bunny_white.png differ diff --git a/mods/mobs/textures/mobs_chick.png b/mods/mobs/textures/mobs_chick.png index b9c7764e..90994e5f 100755 Binary files a/mods/mobs/textures/mobs_chick.png and b/mods/mobs/textures/mobs_chick.png differ diff --git a/mods/mobs/textures/mobs_kitten_ginger.png b/mods/mobs/textures/mobs_kitten_ginger.png index ae718e53..1707c2e2 100755 Binary files a/mods/mobs/textures/mobs_kitten_ginger.png and b/mods/mobs/textures/mobs_kitten_ginger.png differ diff --git a/mods/mobs/textures/mobs_kitten_inv.png b/mods/mobs/textures/mobs_kitten_inv.png new file mode 100755 index 00000000..6afa61f8 Binary files /dev/null and b/mods/mobs/textures/mobs_kitten_inv.png differ diff --git a/mods/mobs/textures/mobs_kitten_sandy.png b/mods/mobs/textures/mobs_kitten_sandy.png index 1a6e03df..052f04ee 100755 Binary files a/mods/mobs/textures/mobs_kitten_sandy.png and b/mods/mobs/textures/mobs_kitten_sandy.png differ diff --git a/mods/mobs/textures/mobs_kitten_splotchy.png b/mods/mobs/textures/mobs_kitten_splotchy.png index cb2ab372..1fad9947 100755 Binary files a/mods/mobs/textures/mobs_kitten_splotchy.png and b/mods/mobs/textures/mobs_kitten_splotchy.png differ diff --git a/mods/mobs/textures/mobs_kitten_striped.png b/mods/mobs/textures/mobs_kitten_striped.png index c27720e9..4d1a0ccb 100755 Binary files a/mods/mobs/textures/mobs_kitten_striped.png and b/mods/mobs/textures/mobs_kitten_striped.png differ diff --git a/mods/mobs/treemonster.lua b/mods/mobs/treemonster.lua index be956276..71037075 100755 --- a/mods/mobs/treemonster.lua +++ b/mods/mobs/treemonster.lua @@ -4,10 +4,10 @@ mobs:register_mob("mobs:tree_monster", { -- animal, monster, npc, barbarian type = "monster", - -- aggressive, deals 6 damage to player when hit + -- aggressive, deals 8 damage to player when hit passive = false, attack_type = "dogfight", - damage = 6, + damage = 8, -- health & armor hp_min = 40, hp_max = 50, armor = 80, -- textures and model @@ -41,9 +41,7 @@ mobs:register_mob("mobs:tree_monster", { {name = "default:apple", chance = 2, min = 1, max = 3,}, {name = "maptools:silver_coin", - chance = 2, - min = 1, - max = 1,}, + chance = 2, min = 1, max = 1,}, }, -- damaged by water_damage = 1, diff --git a/mods/mobs/warthog.lua b/mods/mobs/warthog.lua index d5b181c7..b9652a3b 100755 --- a/mods/mobs/warthog.lua +++ b/mods/mobs/warthog.lua @@ -4,7 +4,7 @@ mobs:register_mob("mobs:pumba", { -- animal, monster, npc, barbarian type = "animal", - -- aggressive, deals 2 damage to player when threatened + -- aggressive, deals 4 damage to player when threatened passive = false, attack_type = "dogfight", damage = 4,