minetest-game-adventuretest/mods/mobs/animals/rat.lua

59 lines
1.4 KiB
Lua

mobs:register_mob("mobs:rat", {
type = "animal",
hp_min = 1,
hp_max = 4,
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.2, 0.2},
visual = "mesh",
mesh = "mobs_rat.x",
textures = {"mobs_rat.png"},
makes_footstep_sound = false,
walk_velocity = 1,
armor = 200,
drops = {},
drawtype = "front",
water_damage = 0,
lava_damage = 1,
light_damage = 0,
on_rightclick = function(self, clicker)
if clicker:is_player() and clicker:get_inventory() then
clicker:get_inventory():add_item("main", "mobs:rat")
self.object:remove()
end
end,
sounds = { },
step=1,
passive = true,
blood_amount = 5,
blood_offset = 0,
avoid_nodes = {"default:water_source","default:water_flowing","campfire:campfire_burning","fire:basic_flame","fire:permanent_flame"},
avoid_range = 15,
})
mobs:register_spawn("mobs:rat", {"default:dirt_with_grass", "default:stone"}, 20, -1, 10000, 1, 31000)
minetest.register_craftitem("mobs:rat", {
description = "Rat",
inventory_image = "mobs_rat_inventory.png",
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.above then
minetest.add_entity(pointed_thing.above, "mobs:rat")
itemstack:take_item()
end
return itemstack
end,
})
minetest.register_craftitem("mobs:rat_cooked", {
description = "Cooked Rat",
inventory_image = "mobs_cooked_rat.png",
on_use = minetest.item_eat(3),
})
minetest.register_craft({
type = "cooking",
output = "mobs:rat_cooked",
recipe = "mobs:rat",
cooktime = 5,
})