From a11a10ea7a451701acc4e7ff978a8f917ed20e6e Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Thu, 9 Apr 2015 16:09:10 +0100 Subject: [PATCH] tidied code --- README.txt | 1 + bee.lua | 24 ++++--------- bunny.lua | 26 +++++--------- chicken.lua | 5 ++- cow.lua | 5 ++- dirtmonster.lua | 18 +++------- dungeonmaster.lua | 21 ++++-------- kitten.lua | 25 ++++++-------- lava_flan.lua | 24 +++++-------- mese_monster.lua | 24 +++++-------- npc.lua | 30 ++++++---------- oerkki.lua | 26 +++++--------- rat.lua | 29 ++++++---------- sandmonster.lua | 21 ++++-------- sheep.lua | 5 ++- spider.lua | 24 +++++-------- stonemonster.lua | 21 ++++-------- textures/mobs_dungeon_master_fireball.png | Bin 2209 -> 0 bytes .../mobs_dungeon_master_fireball_back.png | Bin 2063 -> 0 bytes textures/zmobs_egg_lava_flan.png | Bin 356 -> 0 bytes textures/zmobs_egg_mese_monster.png | Bin 368 -> 0 bytes treemonster.lua | 20 ++++------- warthog.lua | 32 ++++++++---------- 23 files changed, 129 insertions(+), 252 deletions(-) delete mode 100644 textures/mobs_dungeon_master_fireball.png delete mode 100644 textures/mobs_dungeon_master_fireball_back.png delete mode 100644 textures/zmobs_egg_lava_flan.png delete mode 100644 textures/zmobs_egg_mese_monster.png diff --git a/README.txt b/README.txt index 5693677..bd4a3f4 100644 --- a/README.txt +++ b/README.txt @@ -29,6 +29,7 @@ This mod contains the following additions: Changelog: beta- Npc mob added, kills monsters, attacks player when punched, right click with food to heal or gold lump for drop +1.09- reworked breeding routine, added mob rotation value, added footstep feature, added jumping mobs with souns feature 1.08- Mob throwing attack has been rehauled so that they can damage one another, also drops and on_die function added 1.07- Npc's can now be set to follow player or stand by using self.order and self.owner variables 1.06- Changed recovery times after breeding, and time taken to grow up (can be sped up by feeding baby animal) diff --git a/bee.lua b/bee.lua index a150c42..0593b55 100644 --- a/bee.lua +++ b/bee.lua @@ -2,40 +2,32 @@ -- Bee by KrupnoPavel mobs:register_mob("mobs:bee", { - -- animal, monster, npc, barbarian type = "animal", - -- it is aggressive passive = true, - -- health & armor - hp_min = 1, hp_max = 2, armor = 200, - -- textures and model + hp_min = 1, + hp_max = 2, + armor = 200, collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.2, 0.2}, visual = "mesh", mesh = "mobs_bee.x", - drawtype = "front", textures = { {"mobs_bee.png"}, }, - -- sounds makes_footstep_sound = false, sounds = { random = "mobs_bee", }, - -- speed and jump walk_velocity = 1, jump = true, - -- drops honey when killed drops = { {name = "mobs:honey", chance = 1, min = 1, max = 2,}, }, - -- damage water_damage = 1, lava_damage = 1, light_damage = 0, fall_damage = 0, fall_speed = -3, - -- model animation animation = { speed_normal = 15, stand_start = 0, @@ -43,7 +35,6 @@ mobs:register_mob("mobs:bee", { walk_start = 35, walk_end = 65, }, - -- right click to pick up bee on_rightclick = function(self, clicker) if clicker:is_player() and clicker:get_inventory() and clicker:get_inventory():room_for_item("main", "mobs:bee") then clicker:get_inventory():add_item("main", "mobs:bee") @@ -51,20 +42,19 @@ mobs:register_mob("mobs:bee", { end end, }) --- spawn on group:flowers between 4 and 20 light, 1 in 5000 chance, 1 bee in area up to 31000 in height + mobs:register_spawn("mobs:bee", {"group:flower"}, 20, 4, 5000, 1, 31000) --- register spawn egg mobs:register_egg("mobs:bee", "Bee", "mobs_bee_inv.png", 0) --- Honey +-- honey minetest.register_craftitem("mobs:honey", { description = "Honey", inventory_image = "mobs_honey_inv.png", on_use = minetest.item_eat(6), }) --- Beehive (when placed, bee appears) +-- beehive (when placed spawns bee) minetest.register_node("mobs:beehive", { description = "Beehive", drawtype = "plantlike", @@ -93,7 +83,7 @@ minetest.register_craft({ } }) --- Honey Block +-- honey block minetest.register_node("mobs:honey_block", { description = "Honey Block", tiles = {"mobs_honey_block.png"}, diff --git a/bunny.lua b/bunny.lua index 740b439..9233713 100644 --- a/bunny.lua +++ b/bunny.lua @@ -2,55 +2,43 @@ -- Bunny by ExeterDad mobs:register_mob("mobs:bunny", { - -- animal, monster, npc type = "animal", - -- is it aggressive passive = true, - -- health & armor - hp_min = 1, hp_max = 4, armor = 200, - -- textures and model + hp_min = 1, + hp_max = 4, + armor = 200, collisionbox = {-0.268, -0.5, -0.268, 0.268, 0.167, 0.268}, visual = "mesh", mesh = "mobs_bunny.b3d", - drawtype = "front", textures = { {"mobs_bunny_grey.png"}, {"mobs_bunny_brown.png"}, {"mobs_bunny_white.png"}, }, - -- sounds - sounds = {}, makes_footstep_sound = false, - -- speed and jump walk_velocity = 1, jump = true, - -- drops meat when deat drops = { {name = "mobs:meat_raw", chance = 1, min = 1, max = 2,}, }, - -- damaged by water_damage = 1, - lava_damage = 1, + lava_damage = 4, light_damage = 0, - -- model animation animation = { speed_normal = 15, stand_start = 1, stand_end = 15, walk_start = 16, walk_end = 24, }, - -- follows carrot from farming redo follow = "farming:carrot", view_range = 5, - -- 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) - local item = clicker:get_wielded_item() - if item:get_name() == "farming_plus:carrot_item" or item:get_name() == "farming:carrot" then + if item:get_name() == "farming_plus:carrot_item" + or item:get_name() == "farming:carrot" then if not minetest.setting_getbool("creative_mode") then item:take_item() clicker:set_wielded_item(item) @@ -62,6 +50,7 @@ mobs:register_mob("mobs:bunny", { end return end + if clicker:is_player() and clicker:get_inventory() and clicker:get_inventory():room_for_item("main", "mobs:bunny") then clicker:get_inventory():add_item("main", "mobs:bunny") self.object:remove() @@ -70,4 +59,5 @@ mobs:register_mob("mobs:bunny", { }) mobs:register_spawn("mobs:bunny", {"default:dirt_with_grass", "ethereal:prairie_dirt"}, 20, 8, 9000, 1, 31000) + mobs:register_egg("mobs:bunny", "Bunny", "mobs_bunny_inv.png", 0) diff --git a/chicken.lua b/chicken.lua index a85ecb3..008bf47 100644 --- a/chicken.lua +++ b/chicken.lua @@ -20,7 +20,6 @@ mobs:register_mob("mobs:chicken", { {"mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png"}, }, - blood_texture = "mobs_blood.png", makes_footstep_sound = true, sounds = { random = "mobs_chicken", @@ -57,7 +56,7 @@ mobs:register_mob("mobs:chicken", { end if self.child == true then self.hornytimer = self.hornytimer + 10 - return tool + return end self.food = (self.food or 0) + 1 if self.food >= 8 then @@ -68,7 +67,7 @@ mobs:register_mob("mobs:chicken", { self.tamed = true minetest.sound_play("mobs_chicken", {object = self.object,gain = 1.0,max_hear_distance = 15,loop = false,}) end - return tool + return end if clicker:is_player() diff --git a/cow.lua b/cow.lua index 39ed0d2..92225cd 100644 --- a/cow.lua +++ b/cow.lua @@ -15,7 +15,6 @@ mobs:register_mob("mobs:cow", { textures = { {"mobs_cow.png"}, }, - blood_texture = "mobs_blood.png", visual_size = {x=1,y=1}, makes_footstep_sound = true, sounds = { @@ -71,7 +70,7 @@ mobs:register_mob("mobs:cow", { end if self.child == true then self.hornytimer = self.hornytimer + 10 - return tool + return end self.food = (self.food or 0) + 1 if self.food >= 8 then @@ -83,7 +82,7 @@ mobs:register_mob("mobs:cow", { self.tamed = true minetest.sound_play("mobs_cow", {object = self.object,gain = 1.0,max_hear_distance = 32,loop = false,}) end - return tool + return end end, diff --git a/dirtmonster.lua b/dirtmonster.lua index 0748dac..9b1577b 100644 --- a/dirtmonster.lua +++ b/dirtmonster.lua @@ -2,44 +2,36 @@ -- Dirt Monster by PilzAdam mobs:register_mob("mobs:dirt_monster", { - -- animal, monster, npc, barbarian type = "monster", - -- aggressive, deals 2 damage to player when hit passive = false, attack_type = "dogfight", damage = 2, - -- health & armor - hp_min = 3, hp_max = 27, armor = 100, - -- textures and model + hp_min = 3, + hp_max = 27, + armor = 100, collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4}, visual = "mesh", mesh = "mobs_stone_monster.x", - drawtype = "front", textures = { {"mobs_dirt_monster.png"}, }, visual_size = {x=3, y=2.6}, blood_texture = "default_dirt.png", - -- sounds makes_footstep_sound = true, sounds = { random = "mobs_dirtmonster", }, - -- speed and jump view_range = 15, walk_velocity = 1, run_velocity = 3, jump = true, - -- drops dirt when dead drops = { {name = "default:dirt", chance = 1, min = 3, max = 5}, }, - -- damaged by water_damage = 1, lava_damage = 5, light_damage = 2, - -- model animation animation = { speed_normal = 15, speed_run = 15, stand_start = 0, stand_end = 14, @@ -48,7 +40,7 @@ mobs:register_mob("mobs:dirt_monster", { punch_start = 40, punch_end = 63, }, }) --- spawn on normal;grey dirt between 0 and 5 light, 1 in 7000 change, 1 dirt monster in area up to 31000 in height + mobs:register_spawn("mobs:dirt_monster", {"default:dirt_with_grass", "ethereal:gray_dirt_top"}, 5, 0, 7000, 1, 31000) --- register spawn egg + mobs:register_egg("mobs:dirt_monster", "Dirt Monster", "default_dirt.png", 1) diff --git a/dungeonmaster.lua b/dungeonmaster.lua index 45be60d..2828886 100644 --- a/dungeonmaster.lua +++ b/dungeonmaster.lua @@ -2,40 +2,33 @@ -- Dungeon Master by PilzAdam mobs:register_mob("mobs:dungeon_master", { - -- animal, monster, npc, barbarian type = "monster", - -- aggressive, shoots fireballs at player passive = false, damage = 4, attack_type = "shoot", shoot_interval = 2.5, arrow = "mobs:fireball", shoot_offset = 0, - -- health & armor - hp_min = 12, hp_max = 35, armor = 60, - -- textures and model + hp_min = 12, + hp_max = 35, + armor = 60, collisionbox = {-0.7, -0.01, -0.7, 0.7, 2.6, 0.7}, visual = "mesh", mesh = "mobs_dungeon_master.x", - drawtype = "front", textures = { {"mobs_dungeon_master.png"}, {"mobs_dungeon_master2.png"}, {"mobs_dungeon_master3.png"}, }, visual_size = {x=8, y=8}, - blood_texture = "mobs_blood.png", - -- sounds makes_footstep_sound = true, sounds = { random = "mobs_dungeonmaster", }, - -- speed and jump walk_velocity = 1, run_velocity = 3, jump = true, view_range = 15, - -- drops mese or diamond when dead drops = { {name = "default:mese_crystal_fragment", chance = 1, min = 1, max = 3,}, @@ -46,11 +39,9 @@ mobs:register_mob("mobs:dungeon_master", { {name = "default:diamond_block", chance = 30, min = 1, max = 1,}, }, - -- damaged by water_damage = 1, lava_damage = 1, light_damage = 0, - -- model animation animation = { stand_start = 0, stand_end = 19, walk_start = 20, walk_end = 35, @@ -58,12 +49,12 @@ mobs:register_mob("mobs:dungeon_master", { speed_normal = 15, speed_run = 15, }, }) --- spawn on stone between 0 and 5 light, 1 in 7000 chance, 1 dungeon master in area starting at -70 and below + mobs:register_spawn("mobs:dungeon_master", {"default:stone"}, 5, 0, 7000, 1, -70) --- register spawn egg + mobs:register_egg("mobs:dungeon_master", "Dungeon Master", "fire_basic_flame.png", 1) --- Fireball (dungeon masters weapon) +-- fireball (weapon) mobs:register_arrow("mobs:fireball", { visual = "sprite", visual_size = {x=1, y=1}, diff --git a/kitten.lua b/kitten.lua index ef6fd27..a16a1f5 100755 --- a/kitten.lua +++ b/kitten.lua @@ -2,13 +2,11 @@ -- Kitten by Jordach / BFD mobs:register_mob("mobs:kitten", { - -- animal, monster, npc type = "animal", - -- is it aggressive passive = true, - -- health & armor - hp_min = 5, hp_max = 10, armor = 200, - -- textures and model + hp_min = 5, + hp_max = 10, + armor = 200, collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.1, 0.3}, visual = "mesh", visual_size = {x=0.5, y=0.5}, @@ -19,36 +17,29 @@ mobs:register_mob("mobs:kitten", { {"mobs_kitten_ginger.png"}, {"mobs_kitten_sandy.png"}, }, - blood_texture = "mobs_blood.png", - -- sounds makes_footstep_sound = false, sounds = { random = "mobs_kitten", }, - -- speed and jump walk_velocity = 0.6, jump = false, - -- drops string drops = { {name = "farming:string", chance = 1, min = 1, max = 1}, }, - -- damaged by water_damage = 1, lava_damage = 5, - -- model animation animation = { speed_normal = 42, stand_start = 97, stand_end = 192, walk_start = 0, walk_end = 96, }, - -- follows rat follow = "mobs:rat", view_range = 8, - -- 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" or item:get_name() == "ethereal: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) @@ -61,7 +52,10 @@ mobs:register_mob("mobs:kitten", { end return end - if clicker:is_player() and clicker:get_inventory() and clicker:get_inventory():room_for_item("main", "mobs:kitten") then + + if clicker:is_player() + and clicker:get_inventory() + and clicker:get_inventory():room_for_item("main", "mobs:kitten") then clicker:get_inventory():add_item("main", "mobs:kitten") self.object:remove() end @@ -69,4 +63,5 @@ mobs:register_mob("mobs:kitten", { }) 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/lava_flan.lua b/lava_flan.lua index 8410f11..761e8cc 100644 --- a/lava_flan.lua +++ b/lava_flan.lua @@ -2,47 +2,38 @@ -- Lava Flan by Zeg9 mobs:register_mob("mobs:lava_flan", { - -- animal, monster, npc, barbarian type = "monster", - -- aggressive, deals 3 damage to player when hit passive = false, attack_type = "dogfight", damage = 3, - -- health and armor - hp_min = 10, hp_max = 35, armor = 80, - -- textures and model + hp_min = 10, + hp_max = 35, + armor = 80, collisionbox = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}, visual = "mesh", mesh = "zmobs_lava_flan.x", - drawtype = "front", textures = { {"zmobs_lava_flan.png"}, }, blood_texture = "fire_basic_flame.png", visual_size = {x=1, y=1}, - -- sounds - makes_footstep_sound = true, + makes_footstep_sound = false, sounds = { random = "mobs_lavaflan", war_cry = "mobs_lavaflan", - death = nil, }, - -- speed and jump, sinks in water walk_velocity = 0.5, run_velocity = 2, jump = true, view_range = 10, floats = 0, - -- chance of dropping lava orb when dead drops = { {name = "mobs:lava_orb", chance = 15, min = 1, max = 1,}, }, - -- damaged by water_damage = 5, lava_damage = 0, light_damage = 0, - -- model animation animation = { speed_normal = 15, speed_run = 15, stand_start = 0, stand_end = 8, @@ -54,14 +45,15 @@ mobs:register_mob("mobs:lava_flan", { minetest.set_node(pos, {name="fire:basic_flame"}) end, }) --- spawns in lava between 0 and 15 light, 1 in 1000 chance, 3 in area below 0 in height + mobs:register_spawn("mobs:lava_flan", {"default:lava_source"}, 15, 0, 1000, 3, 0) --- register spawn egg + mobs:register_egg("mobs:lava_flan", "Lava Flan", "default_lava.png", 1) --- Lava Orb +-- lava orb minetest.register_craftitem("mobs:lava_orb", { description = "Lava orb", inventory_image = "zmobs_lava_orb.png", }) + minetest.register_alias("zmobs:lava_orb", "mobs:lava_orb") diff --git a/mese_monster.lua b/mese_monster.lua index dd4534b..a915993 100644 --- a/mese_monster.lua +++ b/mese_monster.lua @@ -2,18 +2,16 @@ -- Mese Monster by Zeg9 mobs:register_mob("mobs:mese_monster", { - -- animal, monster, npc, barbarian type = "monster", - -- agressive, deals 3 damage to player when hit passive = false, damage = 3, attack_type = "shoot", shoot_interval = .5, arrow = "mobs:mese_arrow", shoot_offset = 2, - -- health & armor - hp_min = 10, hp_max = 25, armor = 80, - -- textures and model + hp_min = 10, + hp_max = 25, + armor = 80, collisionbox = {-0.5, -1.5, -0.5, 0.5, 0.5, 0.5}, visual = "mesh", mesh = "zmobs_mese_monster.x", @@ -21,14 +19,11 @@ mobs:register_mob("mobs:mese_monster", { {"zmobs_mese_monster.png"}, }, visual_size = {x=1, y=1}, - drawtype = "front", blood_texture = "default_mese_crystal_fragment.png", - -- sounds - makes_footstep_sound = true, + makes_footstep_sound = false, sounds = { random = "mobs_mesemonster", }, - -- speed and jump view_range = 10, walk_velocity = 0.5, run_velocity = 2, @@ -36,18 +31,15 @@ mobs:register_mob("mobs:mese_monster", { jump_height = 8, fall_damage = 0, fall_speed = -6, - -- drops mese when dead drops = { {name = "default:mese_crystal", chance = 9, min = 1, max = 3,}, {name = "default:mese_crystal_fragment", chance = 1, min = 1, max = 9,}, }, - -- damaged by water_damage = 0, lava_damage = 0, light_damage = 0, - -- model animation animation = { speed_normal = 15, speed_run = 15, stand_start = 0, stand_end = 14, @@ -56,12 +48,12 @@ mobs:register_mob("mobs:mese_monster", { punch_start = 15, punch_end = 38, -- was 40 & 63 }, }) --- spawn on stone between 0 and 5 light, 1 in 5000 chance, 1 in area below -20 + mobs:register_spawn("mobs:mese_monster", {"default:stone"}, 5, 0, 5000, 1, -20) --- register spawn egg + mobs:register_egg("mobs:mese_monster", "Mese Monster", "default_mese_block.png", 1) --- Mese Monster Crystal Shards (weapon) +-- mese arrow (weapon) mobs:register_arrow("mobs:mese_arrow", { visual = "sprite", visual_size = {x=.5, y=.5}, @@ -86,7 +78,7 @@ mobs:register_arrow("mobs:mese_arrow", { end }) --- 9 mese crystal fragments = 1 mese crystal +-- 9x mese crystal fragments = 1x mese crystal minetest.register_craft({ output = "default:mese_crystal", recipe = { diff --git a/npc.lua b/npc.lua index 07721a5..6359fa1 100644 --- a/npc.lua +++ b/npc.lua @@ -4,32 +4,26 @@ mobs.npc_drops = { "default:pick_steel", "mobs:meat", "default:sword_steel", "default:shovel_steel", "farming:bread", "bucket:bucket_water" } mobs:register_mob("mobs:npc", { - -- animal, monster, npc type = "npc", - -- aggressive, deals 2 damage to player/monster when hit passive = false, damage = 3, attack_type = "dogfight", attacks_monsters = true, - -- health & armor - hp_min = 10, hp_max = 20, armor = 100, - -- textures and model + hp_min = 10, + hp_max = 20, + armor = 100, collisionbox = {-0.35,-1.0,-0.35, 0.35,0.8,0.35}, visual = "mesh", mesh = "character.b3d", - drawtype = "front", textures = { {"mobs_npc.png"}, }, visual_size = {x=1, y=1}, - -- sounds makes_footstep_sound = true, sounds = {}, - -- speed and jump walk_velocity = 2, run_velocity = 3, jump = true, - -- drops wood and chance of apples when dead drops = { {name = "default:wood", chance = 1, min = 1, max = 3}, @@ -38,17 +32,13 @@ mobs:register_mob("mobs:npc", { {name = "default:axe_stone", chance = 3, min = 1, max = 1}, }, - -- damaged by water_damage = 0, lava_damage = 2, light_damage = 0, - -- follow diamond follow = "default:diamond", view_range = 15, - -- set owner and order owner = "", order = "follow", - -- model animation animation = { speed_normal = 30, speed_run = 30, stand_start = 0, stand_end = 79, @@ -56,17 +46,19 @@ mobs:register_mob("mobs:npc", { run_start = 168, run_end = 187, punch_start = 200, punch_end = 219, }, - -- right clicking with cooked meat will give npc more health on_rightclick = function(self, clicker) local item = clicker:get_wielded_item() - if item:get_name() == "mobs:meat" or item:get_name() == "farming:bread" then + if item:get_name() == "mobs:meat" + or item:get_name() == "farming:bread" then local hp = self.object:get_hp() - if hp + 4 > self.hp_max then return end + if hp + 4 > self.hp_max then + return + end if not minetest.setting_getbool("creative_mode") then item:take_item() clicker:set_wielded_item(item) end - self.object:set_hp(hp+4) + self.object:set_hp(hp + 4) -- right clicking with gold lump drops random item from mobs.npc_drops elseif item:get_name() == "default:gold_lump" then if not minetest.setting_getbool("creative_mode") then @@ -89,7 +81,7 @@ mobs:register_mob("mobs:npc", { end end, }) --- spawning disabled for now + --mobs:register_spawn("mobs:npc", {"default:dirt_with_grass"}, 20, 0, 7000, 1, 31000) --- register spawn egg + mobs:register_egg("mobs:npc", "Npc", "default_brick.png", 1) diff --git a/oerkki.lua b/oerkki.lua index 3cce524..ed35dc7 100644 --- a/oerkki.lua +++ b/oerkki.lua @@ -2,45 +2,36 @@ -- Oerkki by PilzAdam mobs:register_mob("mobs:oerkki", { - -- animal, monster, npc, barbarian type = "monster", - -- aggressive, deals 4 damage when player hit passive = false, attack_type = "dogfight", damage = 4, - -- health & armor - hp_min = 8, hp_max = 34, armor = 100, - -- textures and model + hp_min = 8, + hp_max = 34, + armor = 100, collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4}, visual = "mesh", mesh = "mobs_oerkki.x", - drawtype = "front", textures = { {"mobs_oerkki.png"}, {"mobs_oerkki2.png"}, }, visual_size = {x=5, y=5}, - blood_texture = "mobs_blood.png", - -- sounds makes_footstep_sound = false, sounds = { random = "mobs_oerkki", }, - -- speed and jump walk_velocity = 1, run_velocity = 3, view_range = 10, jump = true, - -- chance of dropping obsidian drops = { {name = "default:obsidian", chance = 3, min = 1, max = 2,}, }, - -- damaged by - water_damage = 1, - lava_damage = 1, + water_damage = 2, + lava_damage = 4, light_damage = 1, - -- model animation animation = { stand_start = 0, stand_end = 23, walk_start = 24, walk_end = 36, @@ -48,13 +39,12 @@ mobs:register_mob("mobs:oerkki", { punch_start = 37, punch_end = 49, speed_normal = 15, speed_run = 15, }, - -- replace torch with air (remove) - replace_rate = 50, + replace_rate = 40, replace_what = {"default:torch"}, replace_with = "air", replace_offset = -1, }) --- spawns on stone between 0 and 5 light, 1 in 7000 chance, 1 in area starting at -10 and below + mobs:register_spawn("mobs:oerkki", {"default:stone"}, 5, -1, 7000, 1, -10) --- register spawn egg + mobs:register_egg("mobs:oerkki", "Oerkki", "default_obsidian.png", 1) diff --git a/rat.lua b/rat.lua index 5d3cd81..2858854 100644 --- a/rat.lua +++ b/rat.lua @@ -2,49 +2,42 @@ -- Rat by PilzAdam mobs:register_mob("mobs:rat", { - -- animal, monster, npc, barbarian type = "animal", - -- not aggressive passive = true, - -- health & armor - hp_min = 1, hp_max = 4, armor = 200, - -- textures and model + hp_min = 1, + hp_max = 4, + armor = 200, collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.2, 0.2}, visual = "mesh", mesh = "mobs_rat.x", - drawtype = "front", textures = { {"mobs_rat.png"}, {"mobs_rat2.png"}, }, - -- sounds makes_footstep_sound = false, sounds = { random = "mobs_rat", }, - -- speed and jump walk_velocity = 1, jump = true, - -- no drops - drops = {}, - -- damaged by water_damage = 0, - lava_damage = 1, + lava_damage = 4, light_damage = 0, - -- right click to pick up rat on_rightclick = function(self, clicker) - if clicker:is_player() and clicker:get_inventory() and clicker:get_inventory():room_for_item("main", "mobs:rat") then + if clicker:is_player() + and clicker:get_inventory() + and clicker:get_inventory():room_for_item("main", "mobs:rat") then clicker:get_inventory():add_item("main", "mobs:rat") self.object:remove() end end, }) --- spawn on stone between 1 and 20 light, 1 in 7000 chance, 1 per area up to 31000 in height -mobs:register_spawn("mobs:rat", {"default:stone"}, 20, 0, 11000, 1, 31000) --- register spawn egg + +mobs:register_spawn("mobs:rat", {"default:stone"}, 20, 0, 11000, 1, 0) + mobs:register_egg("mobs:rat", "Rat", "mobs_rat_inventory.png", 0) --- Cooked Rat, yummy! +-- cooked rat, yummy! minetest.register_craftitem("mobs:rat_cooked", { description = "Cooked Rat", inventory_image = "mobs_cooked_rat.png", diff --git a/sandmonster.lua b/sandmonster.lua index 4310327..cf120b3 100644 --- a/sandmonster.lua +++ b/sandmonster.lua @@ -2,45 +2,36 @@ -- Sand Monster by PilzAdam mobs:register_mob("mobs:sand_monster", { - -- animal, monster, npc, barbarian type = "monster", - -- aggressive, deals 1 damage to player when hit passive = false, attack_type = "dogfight", damage = 1, - -- health & armor - hp_min = 4, hp_max = 20, armor = 100, - -- textures and model + hp_min = 4, + hp_max = 20, + armor = 100, collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4}, visual = "mesh", mesh = "mobs_sand_monster.x", - drawtype = "front", textures = { {"mobs_sand_monster.png"}, }, visual_size = {x=8,y=8}, - blood_texture = "mobs_blood.png", - -- sounds makes_footstep_sound = true, sounds = { random = "mobs_sandmonster", }, - -- speed and jump, sinks in water walk_velocity = 1.5, run_velocity = 4, view_range = 15, jump = true, floats = 0, - -- drops desert sand when dead drops = { {name = "default:desert_sand", chance = 1, min = 3, max = 5,}, }, - -- damaged by water_damage = 3, - lava_damage = 1, + lava_damage = 4, light_damage = 0, - -- model animation animation = { speed_normal = 15, speed_run = 15, stand_start = 0, stand_end = 39, @@ -49,7 +40,7 @@ mobs:register_mob("mobs:sand_monster", { punch_start = 74, punch_end = 105, }, }) --- spawns on desert sand between 0 and 20 light, 1 in 7000 chance, 1 sand monster in area up to 31000 in height + mobs:register_spawn("mobs:sand_monster", {"default:desert_sand"}, 20, 0, 7000, 1, 31000) --- register spawn egg + mobs:register_egg("mobs:sand_monster", "Sand Monster", "default_desert_sand.png", 1) diff --git a/sheep.lua b/sheep.lua index df33351..358102c 100644 --- a/sheep.lua +++ b/sheep.lua @@ -13,7 +13,6 @@ mobs:register_mob("mobs:sheep", { textures = { {"mobs_sheep.png"}, }, - blood_texture = "mobs_blood.png", visual_size = {x=1,y=1}, gotten_texture = {"mobs_sheep_shaved.png"}, gotten_mesh = "mobs_sheep_shaved.x", @@ -51,7 +50,7 @@ mobs:register_mob("mobs:sheep", { end if self.child == true then self.hornytimer = self.hornytimer + 10 - return tool + return end self.food = (self.food or 0) + 1 if self.food >= 8 then @@ -67,7 +66,7 @@ mobs:register_mob("mobs:sheep", { }) minetest.sound_play("mobs_sheep", {object = self.object,gain = 1.0,max_hear_distance = 32,loop = false,}) end - return tool + return end if item:get_name() == "mobs:shears" diff --git a/spider.lua b/spider.lua index b541df3..fd0ff67 100644 --- a/spider.lua +++ b/spider.lua @@ -2,47 +2,39 @@ -- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture) mobs:register_mob("mobs:spider", { - -- animal, monster, npc, barbarian type = "monster", - -- agressive, does 3 damage to player when hit passive = false, attack_type = "dogfight", damage = 3, - -- health & armor - hp_min = 20, hp_max = 40, armor = 200, - -- textures and model + hp_min = 20, + hp_max = 40, + armor = 200, collisionbox = {-0.9, -0.01, -0.7, 0.7, 0.6, 0.7}, visual = "mesh", mesh = "mobs_spider.x", - drawtype = "front", textures = { {"mobs_spider.png"}, }, visual_size = {x=7,y=7}, - -- sounds - makes_footstep_sound = true, + makes_footstep_sound = false, sounds = { random = "mobs_spider", attack = "mobs_spider", }, - -- speed and jump, sinks in water walk_velocity = 1, run_velocity = 3, jump = true, view_range = 15, floats = 0, - -- drops string with a chance of sandstone or crystal spike if Ethereal installed drops = { {name = "farming:string", chance = 1, min = 1, max = 5,}, {name = "ethereal:crystal_spike", chance = 15, min = 1, max = 2,}, }, - -- damaged by water_damage = 5, lava_damage = 5, light_damage = 0, - -- model animation animation = { speed_normal = 15, speed_run = 15, stand_start = 1, stand_end = 1, @@ -51,17 +43,17 @@ mobs:register_mob("mobs:spider", { punch_start = 50, punch_end = 90, }, }) --- spawn on desert stone/crystal dirt, between 0 and 5 light, 1 in 7000 chance, 1 in area up to 71 in height + mobs:register_spawn("mobs:spider", {"default:desert_stone", "ethereal:crystal_topped_dirt"}, 5, 0, 7000, 1, 71) --- register spawn egg + mobs:register_egg("mobs:spider", "Spider", "mobs_cobweb.png", 1) --- Ethereal crystal spike compatibility +-- ethereal crystal spike compatibility if not minetest.get_modpath("ethereal") then minetest.register_alias("ethereal:crystal_spike", "default:sandstone") end --- Cobweb +-- cobweb minetest.register_node("mobs:cobweb", { description = "Cobweb", drawtype = "plantlike", diff --git a/stonemonster.lua b/stonemonster.lua index 5379b41..930f2ed 100644 --- a/stonemonster.lua +++ b/stonemonster.lua @@ -2,36 +2,29 @@ -- Stone Monster by PilzAdam mobs:register_mob("mobs:stone_monster", { - -- animal, monster, npc, barbarian type = "monster", - -- aggressive, deals 3 damage to player when hit passive = false, attack_type = "dogfight", damage = 3, - -- health & armor - hp_min = 12, hp_max = 35, armor = 80, - -- textures and model + hp_min = 12, + hp_max = 35, + armor = 80, collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4}, visual = "mesh", mesh = "mobs_stone_monster.x", - drawtype = "front", textures = { {"mobs_stone_monster.png"}, }, visual_size = {x=3, y=2.6}, - blood_texture = "mobs_blood.png", - -- sounds makes_footstep_sound = true, sounds = { random = "mobs_stonemonster", }, - -- speed and jump, sinks in water walk_velocity = 0.5, run_velocity = 2, jump = true, floats = 0, view_range = 10, - -- chance of dropping torch, iron or coal lump drops = { {name = "default:torch", chance = 2, min = 3, max = 5,}, @@ -40,11 +33,9 @@ mobs:register_mob("mobs:stone_monster", { {name = "default:coal_lump", chance=3, min=1, max=3,}, }, - -- damaged by water_damage = 0, - lava_damage = 0, + lava_damage = 1, light_damage = 0, - -- model animation animation = { speed_normal = 15, speed_run = 15, stand_start = 0, stand_end = 14, @@ -53,7 +44,7 @@ mobs:register_mob("mobs:stone_monster", { punch_start = 40, punch_end = 63, }, }) --- spawns on stone between 0 and 5 light, 1 in 7000 chance, 1 in area below 0 + mobs:register_spawn("mobs:stone_monster", {"default:stone"}, 5, 0, 7000, 1, 0) --- register spawn egg + mobs:register_egg("mobs:stone_monster", "Stone Monster", "default_stone.png", 1) diff --git a/textures/mobs_dungeon_master_fireball.png b/textures/mobs_dungeon_master_fireball.png deleted file mode 100644 index f2d3de58a27c60482172c4385828e1f09e7a9df0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2209 zcmV;S2wwMzP)y{D4^00;$1L_t(o!>w3bY+P3r zJ<|-OapJ^@-=6pTZF}sg-;dbi*yGp4j_uebfBPoaXFI%1_( zwOal!XmGm)Pj))-_4Z2asVhRW^HGGTEL3bou(SaFA}bOlRLV7(la*F9xC)Rcw<5*o z-ry!orb^M`c$E7VL`yaxR`Q678nVHV2<1*Jw{B40A`AAU%F!R#h<4{!&|)V@sRiK@ zD_Uxz7$44{nX`Sf72$1UwbhD_x+o^N-pRR^;AxKq{XPqNJqj7OLO=g*w=1;SlxnL| zs-;q?=E^*_?k$RJEJ(Yp$OboHAn*u!y$S((!BlSbLxsXlm%^}5VJf6B;#cV7-(C_67AfW1qEx8JbTgBo zirM>kDZ$D)6L>tLFxEf?NoF_`#aT$O?FDejOeGz0?)NIBd{!hq1@O@Aey&G~xJEs# z)H6uNL-bm&Q=y$+DBHLyB0or zbSgCP-PS0D>+O85BWRMYjWI;MF3ngxxr=*Z@IBcqOdHCywW%^~aUVZgo{M15;|i0_ zJYqCtg7e(4!r>8xlLz$rbeikj8?5HHG%Crkh3UnX3hm|rk{I-?!PrOOF1r*8D(Rqm z!rB9iBOc7|Q@FYm!z-r~cz!yFOV7lxwA+XChaxz0Foct1ek}BRu{h?&vwJ;wX3T?O zhN;u0b4A!UlE@BQuD}%Lf!j7|w%J;RC+NO$&Zj1V80}Vg?wG=VKYkY%4u|pT*#vH0 zuEldx0lfEGJ(fm%#`;2!2dDQ3_#DEeV=-o7T2HOpQd3S-Y! z4JsSmbj9Jc2gj%+#Q2<_jpF9_>Tv5yJ-+=!1ZTe%2Hvv(w!3;fK2E8mQhVU%pI z>HSY`(U8}1>1Z4y4Ap_|QVd3PoF&m#GTYB%(n;Xf9P4i}R=qsGhxRMHb-5l_788tZ zjWOdo0sl(*dv5-a@__|EztKRzn?_hJ9HJ4oe}vf#`kZ zGVx%$GJwxchYiN!I>W`n^3N9h78d-T@;eItMEMKlb&F>G(M9~=`D!fBE1VctMs=I% za2SB1U$9ny17zIe&>1JiLypn4r8w$YamM?Y>0R2887gX{W#W=Uop<1L!0Y)V;^)IYLYVZP6Wi$^24{+((jSPfo2 zRgK0V&vYKJh*YgzJD4AJ3N<8PhZAQ5r1uoX|<18i0=$?8n5R!i!4 z<_`VUQ*=9P^AO{YKWIP^c@||IWYtQ>Ap#7BH32CeqR%9#i;ON)?8ZtnImEl{)dcpynuLA&-~n3KQI>6T(aiQw;DtkxM|{FW;!E zlNc&S+?7oCGb-6#R#1-g`c^(Rs?tX<86wXjvTv@-v)t+8Ede!+yl>F_gcBvl`vW+Z z@!w(lj|-UZ@nSyh<@5O!Lj)KfK5KlFcB~UrM)6m9;0p!l9M9)9qc{kN06x{}!qYo_ zSjzHR91UVI>&JmM8!Ot$yF#-rU^Cf#OsbhqErWiYp>hI5PE7`|eAtI`Pe!qq#bwy5 zy>w5fv7QlON3zhP@C_D;iG;MPTDce{4PBNOz%;MXDITX5yDp1W5923}fQ+%Rn;m5D z#KvzjrIkym9i<26xqf7nmkLYk-jrVVJ&2plA=%wUmNUFR6nOq+AZ&^s)3vwTzBXgiI7vSFr68cPW?qH& z4W18dvN5aC>e!j@2s??b*;C20d}p%0FYtU&0TLEcrEH(`zYX(Uc}J?2c*tyZ9;jx2 jnIR2y{D4^00(nPL_t(o!>w3}PFq(H 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 diff --git a/textures/zmobs_egg_mese_monster.png b/textures/zmobs_egg_mese_monster.png deleted file mode 100644 index 994acc4d2cbaa47c3a684b6a990ea32537e2265b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4$}iWnGDf)1Poif|Tq zL>4nJa0`PlBg3pY5H=O_Peaig1ow+TkXsiQL*7dLL>gJ$lF~1W+TttT@G^4jIy1jqL^|>DtrMcP8m<9d36?E& zcVniThy{O~sQ)uz*>YL;1!1Pk4Xil&q?#B`Gabp^U^Dx)5!akDrr)NH@sd%-e5b9O zWYweRO`QGgXvn85rJdKS{xhiyNq#qeQ))c%$$ImT-zykyvj@$px|=--= 8 then - if self.child == false then self.horny = true end self.food = 0 + if self.hornytimer == 0 then + self.horny = true + end self.tamed = true - minetest.sound_play("mobs_pig", {object = self.object,gain = 1.0,max_hear_distance = 32,loop = false,}) + minetest.sound_play("mobs_pig", {object = self.object,gain = 1.0, max_hear_distance = 32,loop = false,}) end return end end, }) --- spawns on normal or shroom dirt, between 8 and 20 light, 1 in 9000 chance, 1 in area up to 31000 in height + mobs:register_spawn("mobs:pumba", {"ethereal:mushroom_dirt", "default:dirt"}, 20, 8, 9000, 1, 31000) --- register spawn egg + mobs:register_egg("mobs:pumba", "Warthog", "wool_pink.png", 1) --- Porkchops (raw and cooked) +-- porkchop (raw and cooked) minetest.register_craftitem("mobs:pork_raw", { description = "Raw Porkchop", inventory_image = "mobs_pork_raw.png",