tidied code
parent
992dc9a4b5
commit
a11a10ea7a
|
@ -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)
|
||||
|
|
24
bee.lua
24
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"},
|
||||
|
|
26
bunny.lua
26
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)
|
||||
|
|
|
@ -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()
|
||||
|
|
5
cow.lua
5
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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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},
|
||||
|
|
25
kitten.lua
25
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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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 = {
|
||||
|
|
30
npc.lua
30
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)
|
||||
|
|
26
oerkki.lua
26
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)
|
||||
|
|
29
rat.lua
29
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",
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"
|
||||
|
|
24
spider.lua
24
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",
|
||||
|
|
|
@ -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)
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
Before Width: | Height: | Size: 356 B |
Binary file not shown.
Before Width: | Height: | Size: 368 B |
|
@ -2,35 +2,29 @@
|
|||
-- Tree Monster (or Tree Gollum) by PilzAdam
|
||||
|
||||
mobs:register_mob("mobs:tree_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 = 7, hp_max = 33, armor = 100,
|
||||
-- textures and model
|
||||
hp_min = 7,
|
||||
hp_max = 33,
|
||||
armor = 100,
|
||||
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_tree_monster.x",
|
||||
drawtype = "front",
|
||||
textures = {
|
||||
{"mobs_tree_monster.png"},
|
||||
},
|
||||
visual_size = {x=4.5,y=4.5},
|
||||
blood_texture = "default_wood.png",
|
||||
-- sounds
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "mobs_treemonster",
|
||||
},
|
||||
-- speed and jumop
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
jump = true,
|
||||
view_range = 15,
|
||||
-- drops saplings or apple
|
||||
drops = {
|
||||
{name = "ethereal:tree_sapling",
|
||||
chance = 3, min = 1, max = 2},
|
||||
|
@ -39,12 +33,10 @@ mobs:register_mob("mobs:tree_monster", {
|
|||
{name = "default:apple",
|
||||
chance = 2, min = 1, max=3},
|
||||
},
|
||||
-- damaged by
|
||||
water_damage = 1,
|
||||
lava_damage = 5,
|
||||
light_damage = 2,
|
||||
fall_damage = 0,
|
||||
-- model animation
|
||||
animation = {
|
||||
speed_normal = 15, speed_run = 15,
|
||||
stand_start = 0, stand_end = 24,
|
||||
|
@ -53,12 +45,12 @@ mobs:register_mob("mobs:tree_monster", {
|
|||
punch_start = 48, punch_end = 62,
|
||||
},
|
||||
})
|
||||
-- spawn on leaves, between 0 and 5 light, 1 in 7000 chance, 1 in area up to 31000 in height
|
||||
|
||||
mobs:register_spawn("mobs:tree_monster", {"default:leaves", "default:jungleleaves"}, 5, 0, 7000, 1, 31000)
|
||||
-- register spawn egg
|
||||
|
||||
mobs:register_egg("mobs:tree_monster", "Tree Monster", "default_tree_top.png", 1)
|
||||
|
||||
-- Ethereal sapling compatibility
|
||||
-- ethereal sapling compatibility
|
||||
if not minetest.get_modpath("ethereal") then
|
||||
minetest.register_alias("ethereal:tree_sapling", "default:sapling")
|
||||
minetest.register_alias("ethereal:jungle_tree_sapling", "default:junglesapling")
|
||||
|
|
32
warthog.lua
32
warthog.lua
|
@ -2,53 +2,43 @@
|
|||
-- Warthog by KrupnoPavel
|
||||
|
||||
mobs:register_mob("mobs:pumba", {
|
||||
-- animal, monster, npc, barbarian
|
||||
type = "animal",
|
||||
-- aggressive, deals 2 damage to player when threatened
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
damage = 2,
|
||||
-- health & armor
|
||||
hp_min = 5, hp_max = 15, armor = 200,
|
||||
-- textures and model
|
||||
hp_min = 5,
|
||||
hp_max = 15,
|
||||
armor = 200,
|
||||
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "mobs_pumba.x",
|
||||
drawtype = "front",
|
||||
textures = {
|
||||
{"mobs_pumba.png"},
|
||||
},
|
||||
visual_size = {x=1,y=1},
|
||||
-- sounds
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "mobs_pig",
|
||||
attack = "mobs_pig_angry",
|
||||
},
|
||||
-- speed and jump
|
||||
walk_velocity = 2,
|
||||
run_velocity = 3,
|
||||
jump = true,
|
||||
-- follows wheat
|
||||
follow = "default:apple",
|
||||
view_range = 10,
|
||||
-- drops raw pork when dead
|
||||
drops = {
|
||||
{name = "mobs:pork_raw",
|
||||
chance = 1, min = 2, max = 3,},
|
||||
},
|
||||
-- damaged by
|
||||
water_damage = 1,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
-- model animation
|
||||
animation = {
|
||||
speed_normal = 15,
|
||||
stand_start = 25, stand_end = 55,
|
||||
walk_start = 70, walk_end = 100,
|
||||
punch_start = 70, punch_end = 100,
|
||||
},
|
||||
-- can be tamed by feeding 8 wheat (will not attack when tamed)
|
||||
on_rightclick = function(self, clicker)
|
||||
local item = clicker:get_wielded_item()
|
||||
if item:get_name() == "default:apple" then
|
||||
|
@ -56,23 +46,29 @@ mobs:register_mob("mobs:pumba", {
|
|||
item:take_item()
|
||||
clicker:set_wielded_item(item)
|
||||
end
|
||||
if self.child == true then
|
||||
self.hornytimer = self.hornytimer + 10
|
||||
return
|
||||
end
|
||||
self.food = (self.food or 0) + 1
|
||||
if self.food >= 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",
|
||||
|
|
Loading…
Reference in New Issue