tidied code

master
tenplus1 2015-04-09 16:09:10 +01:00
parent 992dc9a4b5
commit a11a10ea7a
23 changed files with 129 additions and 252 deletions

View File

@ -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
View File

@ -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"},

View File

@ -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)

View File

@ -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()

View File

@ -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,

View File

@ -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)

View File

@ -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},

View File

@ -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)

View File

@ -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")

View File

@ -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
View File

@ -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)

View File

@ -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
View File

@ -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",

View File

@ -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)

View File

@ -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"

View File

@ -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",

View File

@ -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

View File

@ -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")

View File

@ -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",