Update torch, and minor fixes, mobs cleanup

master
MoNTE48 2019-07-05 20:15:18 +02:00
parent b68b7e36cf
commit e88a1e7ac4
28 changed files with 391 additions and 318 deletions

View File

@ -83,11 +83,7 @@ local filters = {
return found_in_list(name, {"^boats:", "^carts:"}) or groups.rail
end,
["food"] = function(name, def, groups)
return def.on_use
--[[return found_in_list(name, {
"fish", "apple", "bread", "chicken_", "meat", "sugar",
"mushroom", "pork", "rabbit", "cheese", "milk",
})]]
return def.groups.food
end,
["tools"] = function(name)
return minetest.registered_tools[name] or

View File

@ -92,21 +92,10 @@ minetest.register_alias("default:papyrus", "default:sugarcane")
-- Fences
minetest.register_alias("fences:fence_wood", "default:fence_wood")
minetest.register_alias("fences:fence_wood_1", "default:fence_wood")
minetest.register_alias("fences:fence_wood_2", "default:fence_wood")
minetest.register_alias("fences:fence_wood_3", "default:fence_wood")
minetest.register_alias("fences:fence_wood_11", "default:fence_wood")
minetest.register_alias("fences:fence_wood_12", "default:fence_wood")
minetest.register_alias("fences:fence_wood_13", "default:fence_wood")
minetest.register_alias("fences:fence_wood_14", "default:fence_wood")
minetest.register_alias("fences:fence_wood_21", "default:fence_wood")
minetest.register_alias("fences:fence_wood_22", "default:fence_wood")
minetest.register_alias("fences:fence_wood_23", "default:fence_wood")
minetest.register_alias("fences:fence_wood_24", "default:fence_wood")
minetest.register_alias("fences:fence_wood_32", "default:fence_wood")
minetest.register_alias("fences:fence_wood_33", "default:fence_wood")
minetest.register_alias("fences:fence_wood_34", "default:fence_wood")
minetest.register_alias("fences:fence_wood_35", "default:fence_wood")
for _, n in pairs({"1", "2", "3", "11", "12", "13", "14",
"21", "22", "23", "24", "32", "33", "34", "35"}) do
minetest.register_alias("fences:fence_wood_" .. n, "default:fence_wood")
end
-- Hardened Clay
minetest.register_alias("hardened_clay:hardened_clay", "default:hardened_clay")

View File

@ -3,13 +3,13 @@
minetest.register_craftitem("default:stick", {
description = "Stick",
inventory_image = "default_stick.png",
groups = {stick = 1, flammable = 2},
groups = {stick = 1, flammable = 2}
})
minetest.register_craftitem("default:paper", {
description = "Paper",
inventory_image = "default_paper.png",
groups = {flammable = 3},
groups = {flammable = 3}
})
@ -158,7 +158,7 @@ minetest.register_craftitem("default:book", {
description = "Book",
inventory_image = "default_book.png",
groups = {book = 1, flammable = 3},
on_use = book_on_use,
on_use = book_on_use
})
minetest.register_craftitem("default:book_written", {
@ -166,7 +166,7 @@ minetest.register_craftitem("default:book_written", {
inventory_image = "default_book_written.png",
groups = {book = 1, not_in_creative_inventory = 1, flammable = 3},
stack_max = 1,
on_use = book_on_use,
on_use = book_on_use
})
minetest.register_craftitem("default:coal_lump", {
@ -183,69 +183,71 @@ minetest.register_craftitem("default:charcoal_lump", {
minetest.register_craftitem("default:diamond", {
description = "Diamond",
inventory_image = "default_diamond.png",
inventory_image = "default_diamond.png"
})
minetest.register_craftitem("default:clay_lump", {
description = "Clay Lump",
inventory_image = "default_clay_lump.png",
inventory_image = "default_clay_lump.png"
})
minetest.register_craftitem("default:steel_ingot", {
description = "Steel Ingot",
inventory_image = "default_steel_ingot.png",
inventory_image = "default_steel_ingot.png"
})
minetest.register_craftitem("default:gold_ingot", {
description = "Gold Ingot",
inventory_image = "default_gold_ingot.png",
inventory_image = "default_gold_ingot.png"
})
minetest.register_craftitem("default:emerald", {
description = "Emerald",
inventory_image = "default_emerald.png",
inventory_image = "default_emerald.png"
})
minetest.register_craftitem("default:clay_brick", {
description = "Clay Brick",
inventory_image = "default_clay_brick.png",
inventory_image = "default_clay_brick.png"
})
minetest.register_craftitem("default:gunpowder", {
description = "Gunpowder",
inventory_image = "default_gunpowder.png",
inventory_image = "default_gunpowder.png"
})
minetest.register_craftitem("default:bone", {
description = "Bone",
inventory_image = "default_bone.png",
inventory_image = "default_bone.png"
})
minetest.register_craftitem("default:glowstone_dust", {
description = "Glowstone Dust",
inventory_image = "default_glowstone_dust.png",
inventory_image = "default_glowstone_dust.png"
})
minetest.register_craftitem("default:fish_raw", {
description = "Raw Fish",
inventory_image = "default_fish.png",
on_use = minetest.item_eat(2),
groups = {food = 1},
on_use = minetest.item_eat(2)
})
minetest.register_craftitem("default:fish", {
description = "Cooked Fish",
inventory_image = "default_fish_cooked.png",
on_use = minetest.item_eat(4),
groups = {food = 1},
on_use = minetest.item_eat(4)
})
minetest.register_craftitem("default:sugar", {
description = "Sugar",
inventory_image = "default_sugar.png",
inventory_image = "default_sugar.png"
})
minetest.register_craftitem("default:quartz_crystal", {
description = "Quartz Crystal",
inventory_image = "default_quartz_crystal.png",
inventory_image = "default_quartz_crystal.png"
})
minetest.register_craftitem("default:flint", {

View File

@ -0,0 +1,58 @@
# Blender v2.77 (sub 0) OBJ File: 'torch_ceiling.blend'
# www.blender.org
mtllib torch_ceiling.mtl
o Cube_Cube.001
v -0.062469 -0.047331 0.068152
v -0.062469 -0.559515 -0.164388
v -0.062469 0.004344 -0.045667
v -0.062469 -0.507839 -0.278206
v 0.062531 -0.047331 0.068152
v 0.062531 -0.559515 -0.164388
v 0.062531 0.004344 -0.045667
v 0.062531 -0.507839 -0.278206
v 0.353584 0.040000 0.363553
v 0.353584 -0.397500 0.363553
v -0.353522 0.040000 -0.343553
v -0.353522 -0.397500 -0.343553
v 0.353584 0.040000 -0.343553
v -0.353522 0.040000 0.363553
v 0.353584 -0.397500 -0.343553
v -0.353522 -0.397500 0.363553
vt 0.5625 0.5000
vt 0.5625 0.6250
vt 0.4375 0.6250
vt 0.4375 0.5000
vt 0.4375 0.0000
vt 0.5625 0.0000
vt 0.5625 0.1250
vt 0.4375 0.1250
vt 0.5625 0.6250
vt 0.4375 0.6250
vt 0.4375 0.6250
vt 0.4375 0.0000
vt 0.5625 0.6250
vt 0.5625 0.0000
vt 1.0000 0.5625
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.5625
vt 0.0000 0.5625
vt 1.0000 0.5625
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 0.9105 0.4134
vn -0.0000 -0.4134 0.9105
vn -1.0000 0.0000 0.0000
vn 0.7071 0.0000 -0.7071
vn 0.7071 0.0000 0.7071
usemtl Material.001
s off
f 3/1/1 1/2/1 5/3/1 7/4/1
f 8/5/1 4/6/1 2/7/1 6/8/1
f 3/9/2 4/6/2 8/5/2 7/10/2
f 1/11/3 3/9/3 4/6/3 2/12/3
f 5/13/2 1/11/2 2/12/2 6/14/2
f 7/10/3 8/5/3 6/14/3 5/13/3
usemtl Material.002
f 9/15/4 10/16/4 12/17/4 11/18/4
f 13/19/5 14/20/5 16/21/5 15/22/5

View File

@ -0,0 +1,50 @@
# Blender v2.76 (sub 11) OBJ File: 'torch_floor.blend'
# www.blender.org
mtllib torch_floor.mtl
o Cube_Cube.001
v 0.062500 0.062500 -0.062500
v 0.062500 -0.500000 -0.062500
v 0.062500 0.062500 0.062500
v 0.062500 -0.500000 0.062500
v -0.062500 0.062500 -0.062500
v -0.062500 -0.500000 -0.062500
v -0.062500 0.062500 0.062500
v -0.062500 -0.500000 0.062500
v -0.353553 -0.500000 0.353553
v -0.353553 0.500000 0.353553
v 0.353553 -0.500000 -0.353553
v 0.353553 0.500000 -0.353553
v -0.353553 -0.500000 -0.353553
v 0.353553 -0.500000 0.353553
v -0.353553 0.500000 -0.353553
v 0.353553 0.500000 0.353553
vt 0.562500 0.500000
vt 0.562500 0.625000
vt 0.437500 0.625000
vt 0.437500 0.500000
vt 0.437500 0.000000
vt 0.562500 0.000000
vt 0.562500 0.125000
vt 0.437500 0.125000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 1.000000 0.000000 0.000000
vn -0.707100 0.000000 -0.707100
vn -0.707100 -0.000000 0.707100
g Cube_Cube.001_Cube_Cube.001_Material.001
usemtl Material.001
s off
f 3/1/1 1/2/1 5/3/1 7/4/1
f 8/5/1 4/6/1 2/7/1 6/8/1
f 3/2/2 4/6/2 8/5/2 7/3/2
f 1/3/3 3/2/3 4/6/3 2/5/3
f 5/2/2 1/3/2 2/5/2 6/6/2
f 7/3/3 8/5/3 6/6/3 5/2/3
g Cube_Cube.001_Cube_Cube.001_Material.002
usemtl Material.002
f 9/9/4 10/10/4 12/11/4 11/12/4
f 13/12/5 14/9/5 16/10/5 15/11/5

View File

@ -0,0 +1,64 @@
# Blender v2.76 (sub 11) OBJ File: 'torch_wall.blend'
# www.blender.org
mtllib torch_wall.mtl
o Cube_Cube.001
v 0.062469 -0.195248 0.023570
v 0.062469 -0.476498 -0.463570
v 0.062469 -0.303502 0.086070
v 0.062469 -0.584752 -0.401070
v -0.062531 -0.195248 0.023570
v -0.062531 -0.476498 -0.463570
v -0.062531 -0.303502 0.086070
v -0.062531 -0.584752 -0.401070
v -0.353584 -0.613553 0.022500
v -0.353584 -0.613553 0.460000
v 0.353522 0.093553 0.022500
v 0.353522 0.093553 0.460000
v -0.353584 0.093553 0.022500
v 0.353522 -0.613553 0.022500
v -0.353584 0.093553 0.460000
v 0.353522 -0.613553 0.460000
v 0.353553 0.056811 -0.121957
v 0.353553 -0.224439 -0.609096
v -0.353553 -0.555561 0.231596
v -0.353553 -0.836811 -0.255543
v -0.353553 0.056811 -0.121957
v -0.353553 -0.224439 -0.609096
v 0.353553 -0.555561 0.231596
v 0.353553 -0.836811 -0.255543
vt 0.562500 0.500000
vt 0.562500 0.625000
vt 0.437500 0.625000
vt 0.437500 0.500000
vt 0.437500 0.000000
vt 0.562500 0.000000
vt 0.562500 0.125000
vt 0.437500 0.125000
vt 0.000000 0.562500
vt 0.000000 -0.000000
vt 1.000000 0.000000
vt 1.000000 0.562500
vt 1.000000 1.000000
vt 0.000000 1.000000
vn -0.000000 0.500000 0.866000
vn -0.000000 0.866000 -0.500000
vn 1.000000 0.000000 0.000000
vn -0.707100 0.612400 -0.353600
vn -0.707100 -0.612400 0.353600
vn -0.707100 0.707100 -0.000000
vn -0.707100 -0.707100 -0.000000
g Cube_Cube.001_Cube_Cube.001_Material.001
usemtl Material.001
s off
f 3/1/1 1/2/1 5/3/1 7/4/1
f 8/5/1 4/6/1 2/7/1 6/8/1
f 3/2/2 4/6/2 8/5/2 7/3/2
f 1/3/3 3/2/3 4/6/3 2/5/3
f 5/2/2 1/3/2 2/5/2 6/6/2
f 7/3/3 8/5/3 6/6/3 5/2/3
f 17/9/4 18/10/4 20/11/4 19/12/4
f 21/9/5 22/10/5 24/11/5 23/12/5
g Cube_Cube.001_Cube_Cube.001_Material.002
usemtl Material.002
f 9/12/6 10/13/6 12/14/6 11/9/6
f 13/9/7 14/12/7 16/13/7 15/14/7

View File

@ -338,7 +338,7 @@ minetest.register_node("default:leaves", {
paramtype = "light",
walkable = false,
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, speed = -20},
drop = {
max_items = 1,
items = {
@ -374,7 +374,7 @@ minetest.register_node("default:apple", {
fixed = {-3 / 16, -7 / 16, -3 / 16, 3 / 16, 4 / 16, 3 / 16}
},
groups = {fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 3, leafdecay_drop = 1, food_apple = 1},
leafdecay = 3, leafdecay_drop = 1, food_apple = 1, food = 1},
on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(),
@ -396,7 +396,7 @@ minetest.register_node("default:apple_gold", {
type = "fixed",
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
},
groups = {fleshy = 3, dig_immediate = 3, flammable = 2, foodstuffs = 1},
groups = {fleshy = 3, dig_immediate = 3, flammable = 2, foodstuffs = 1, food = 1},
on_use = minetest.item_eat(8),
sounds = default.node_sound_defaults(),
})
@ -432,7 +432,7 @@ minetest.register_node("default:jungleleaves", {
paramtype = "light",
walkable = false,
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, speed = -20},
drop = {
max_items = 1,
items = {
@ -591,7 +591,7 @@ minetest.register_node("default:acacia_leaves", {
paramtype = "light",
walkable = false,
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, speed = -20},
drop = {
max_items = 1,
items = {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 B

View File

@ -1,37 +1,119 @@
local function on_flood(pos, oldnode, newnode)
minetest.add_item(pos, ItemStack("default:torch 1"))
-- Play flame-extinguish sound if liquid is not an 'igniter'
local nodedef = minetest.registered_items[newnode.name]
if not (nodedef and nodedef.groups and
nodedef.groups.igniter and nodedef.groups.igniter > 0) then
minetest.sound_play(
"default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.1}
)
end
-- Remove the torch node
return false
end
minetest.register_node("default:torch", {
description = "Torch",
drawtype = "mesh",
mesh = "torch_floor.obj",
inventory_image = "default_torch_on_floor.png",
wield_image = "default_torch_on_floor.png",
tiles = {
"default_torch_on_floor_top.png",
"default_torch_on_floor_bottom.png",
"default_torch_on_floor.png",
"default_torch_on_floor.png",
"default_torch_on_floor.png",
"default_torch_on_floor.png"
},
tiles = {{
name = "default_torch_on_floor.png",
-- name = "default_torch_on_floor_animated.png",
-- animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
}},
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = true,
is_ground_content = false,
walkable = false,
light_source = minetest.LIGHT_MAX - 1,
groups = {choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1},
legacy_wallmounted = true,
sounds = default.node_sound_defaults(),
liquids_pointable = false,
drawtype = "nodebox",
paramtype = "light",
node_box = {
type = "fixed",
fixed = {
{-0.0625, -0.5, -0.0625, 0.0625, 0.125, 0.0625}, -- NodeBox1
}
},
light_source = 12,
groups = {choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1, torch = 1},
drop = "default:torch",
selection_box = {
type = "wallmounted",
wall_top = {-0.1, 0.5 - 0.6, -0.1, 0.1, 0.5, 0.1},
wall_bottom = {-0.1, -0.5, -0.1, 0.1, -0.5 + 0.6, 0.1},
wall_side = {-0.5, -0.3, -0.1, -0.5 + 0.3, 0.3, 0.1},
wall_bottom = {-1/8, -1/2, -1/8, 1/8, 2/16, 1/8},
},
sounds = default.node_sound_wood_defaults(),
on_place = function(itemstack, placer, pointed_thing)
local under = pointed_thing.under
local node = minetest.get_node(under)
local def = minetest.registered_nodes[node.name]
if def and def.on_rightclick and
not (placer and placer:is_player() and
placer:get_player_control().sneak) then
return def.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
local above = pointed_thing.above
local wdir = minetest.dir_to_wallmounted(vector.subtract(under, above))
local fakestack = itemstack
if wdir == 0 then
fakestack:set_name("default:torch_ceiling")
elseif wdir == 1 then
fakestack:set_name("default:torch")
else
fakestack:set_name("default:torch_wall")
end
itemstack = minetest.item_place(fakestack, placer, pointed_thing, wdir)
itemstack:set_name("default:torch")
return itemstack
end,
floodable = true,
on_flood = on_flood,
})
local groups = {choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1, torch = 1, not_in_creative_inventory = 1}
minetest.register_node("default:torch_wall", {
drawtype = "mesh",
mesh = "torch_wall.obj",
tiles = {{
name = "default_torch_on_floor.png",
-- name = "default_torch_on_floor_animated.png",
-- animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
}},
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = true,
walkable = false,
light_source = 12,
groups = groups,
drop = "default:torch",
selection_box = {
type = "wallmounted",
wall_side = {-1/2, -1/2, -1/8, -1/8, 1/8, 1/8},
},
sounds = default.node_sound_wood_defaults(),
floodable = true,
on_flood = on_flood,
})
minetest.register_node("default:torch_ceiling", {
drawtype = "mesh",
mesh = "torch_ceiling.obj",
tiles = {{
name = "default_torch_on_floor.png",
-- name = "default_torch_on_floor_animated.png",
-- animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
}},
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = true,
walkable = false,
light_source = 12,
groups = groups,
drop = "default:torch",
selection_box = {
type = "wallmounted",
wall_top = {-1/8, -1/16, -5/16, 1/8, 1/2, 1/8},
},
sounds = default.node_sound_wood_defaults(),
floodable = true,
on_flood = on_flood,
})

View File

@ -21,21 +21,21 @@ farming.register_plant("farming:wheat", {
minlight = 13,
maxlight = minetest.LIGHT_MAX,
fertility = {"grassland"},
groups = {food_wheat = 1, flammable = 4},
place_param2 = 3,
groups = {food_wheat = 1, flammable = 4}
})
minetest.register_craftitem("farming:flour", {
description = "Flour",
inventory_image = "farming_flour.png",
groups = {food_flour = 1, flammable = 1},
groups = {food_flour = 1, flammable = 1}
})
minetest.register_craftitem("farming:bread", {
description = "Bread",
inventory_image = "farming_bread.png",
on_use = minetest.item_eat(5),
groups = {food_bread = 1, flammable = 2},
groups = {food_bread = 1, flammable = 2, food = 1}
})
minetest.register_craft({
@ -56,7 +56,7 @@ minetest.register_craft({
minetest.register_craftitem("farming:string",{
description = "String",
inventory_image = "farming_string.png",
groups = {materials = 1},
groups = {materials = 1}
})
-- Cotton
@ -95,14 +95,14 @@ minetest.register_craft({
recipe = {
{"farming:wheat", "farming:wheat", "farming:wheat"},
{"farming:wheat", "farming:wheat", "farming:wheat"},
{"farming:wheat", "farming:wheat", "farming:wheat"},
{"farming:wheat", "farming:wheat", "farming:wheat"}
}
})
minetest.register_craft({
output = "farming:wheat 3",
recipe = {
{"farming:straw"},
{"farming:straw"}
}
})
@ -112,29 +112,29 @@ minetest.register_craft({
minetest.register_craft({
type = "fuel",
recipe = "farming:straw",
burntime = 3,
burntime = 3
})
minetest.register_craft({
type = "fuel",
recipe = "farming:wheat",
burntime = 1,
burntime = 1
})
minetest.register_craft({
type = "fuel",
recipe = "farming:cotton",
burntime = 1,
burntime = 1
})
minetest.register_craft({
type = "fuel",
recipe = "farming:string",
burntime = 1,
burntime = 1
})
minetest.register_craft({
type = "fuel",
recipe = "farming:hoe_wood",
burntime = 5,
burntime = 5
})

View File

@ -42,7 +42,7 @@ minetest.register_node("farming:soil", {
description = "Soil",
tiles = {"farming_soil.png", "default_dirt.png"},
drop = "default:dirt",
groups = {crumbly=3, not_in_creative_inventory=1, soil=2, grassland = 1, field = 1},
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 2, grassland = 1, field = 1},
sounds = default.node_sound_dirt_defaults(),
soil = {
base = "default:dirt",
@ -55,7 +55,7 @@ minetest.register_node("farming:soil_wet", {
description = "Wet Soil",
tiles = {"farming_soil_wet.png", "default_dirt.png"},
drop = "default:dirt",
groups = {crumbly=3, not_in_creative_inventory=1, soil=3, wet = 1, grassland = 1, field = 1},
groups = {crumbly = 3, not_in_creative_inventory = 1, soil = 3, wet = 1, grassland = 1, field = 1},
sounds = default.node_sound_dirt_defaults(),
soil = {
base = "default:dirt",
@ -100,9 +100,9 @@ minetest.register_node("farming:desert_sand_soil_wet", {
minetest.register_node("farming:straw", {
description = "Straw",
tiles = {"farming_straw_side.png", "farming_straw_top.png"},
tiles = {"farming_straw_top.png", "farming_straw_top.png", "farming_straw_side.png"},
is_ground_content = false,
groups = {snappy=3, flammable=4, fall_damage_add_percent=-30},
groups = {snappy = 3, flammable = 4, fall_damage_add_percent = -30},
sounds = default.node_sound_leaves_defaults(),
})

View File

@ -174,7 +174,7 @@ minetest.register_node("flowers:mushroom_red", {
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, attached_node = 1, flammable = 1},
groups = {snappy = 3, attached_node = 1, flammable = 1, food = 1},
sounds = default.node_sound_leaves_defaults(),
on_use = minetest.item_eat(-5),
selection_box = {
@ -193,7 +193,7 @@ minetest.register_node("flowers:mushroom_brown", {
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 1},
groups = {food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 1, food = 1},
sounds = default.node_sound_leaves_defaults(),
on_use = minetest.item_eat(1),
selection_box = {

View File

@ -17,8 +17,6 @@ mobs:register_mob("mobs_animal:bear", {
},
runaway = false,
jump = false,
jump_height = 4,
fly = false,
walk_chance = 75,
walk_velocity = 3,
run_velocity = 3,
@ -26,19 +24,12 @@ mobs:register_mob("mobs_animal:bear", {
follow = {
"farming:blueberries", "farming:raspberries"
},
passive = false,
attack_type = "dogfight",
damage = 4,
reach = 3,
attacks_monsters = true,
pathfinding = true,
group_attack = true,
hp_min = 10,
hp_max = 15,
armor = 100,
knock_back = 2,
water_damage = 0,
lava_damage = 5,
fall_damage = 3,
fear_height = 4,
drops = {

View File

@ -5,7 +5,6 @@ mobs:register_mob("mobs_animal:bunny", {
reach = 1,
hp_min = 1,
hp_max = 4,
armor = 100,
collisionbox = {-0.268, -0.5, -0.268, 0.268, 0.167, 0.268},
visual = "mesh",
mesh = "mobs_bunny.b3d",
@ -15,21 +14,14 @@ mobs:register_mob("mobs_animal:bunny", {
{"mobs_bunny_brown.png"},
{"mobs_bunny_white.png"},
},
sounds = {},
makes_footstep_sound = false,
walk_velocity = 1,
run_velocity = 2,
runaway = true,
runaway_from = {"mobs_animal:pumba", "player"},
jump = true,
jump_height = 5,
drops = {
{name = "mobs:rabbit_raw"},
{name = "mobs:rabbit_hide", min = 0, max = 1},
},
water_damage = 1,
lava_damage = 4,
light_damage = 0,
fear_height = 2,
animation = {
speed_normal = 15,
@ -41,7 +33,6 @@ mobs:register_mob("mobs_animal:bunny", {
punch_end = 24,
},
follow = {"farming:carrot", "farming_plus:carrot_item", "default:grass"},
view_range = 8,
replace_rate = 10,
replace_what = {"farming:carrot_7", "farming:carrot_8", "farming_plus:carrot"},
replace_with = "air",
@ -96,7 +87,6 @@ mobs:register_mob("mobs_animal:bunny", {
return true -- run only once, false/nil runs every activation
end,
attack_type = "dogfight",
damage = 5,
})

View File

@ -3,7 +3,6 @@ mobs:register_mob("mobs_animal:chicken", {
passive = true,
hp_min = 3,
hp_max = 6,
armor = 100,
collisionbox = {-0.35, -0.01, -0.35, 0.35, 0.75, 0.35},
visual = "mesh",
mesh = "mobs_chicken.b3d",
@ -12,15 +11,11 @@ mobs:register_mob("mobs_animal:chicken", {
sounds = {
random = "mobs_chicken",
},
walk_velocity = 1,
run_velocity = 3,
runaway = true,
drops = {
{name = "mobs:chicken_raw"}
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fall_damage = 0,
fall_speed = -8,
fear_height = 5,
@ -33,7 +28,6 @@ mobs:register_mob("mobs_animal:chicken", {
run_end = 80,
},
follow = {"farming:seed_wheat"},
view_range = 5,
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 8, true, true) then return end

View File

@ -1,12 +1,8 @@
mobs:register_mob("mobs_animal:cow", {
type = "animal",
passive = false,
attack_type = "dogfight",
reach = 2,
damage = 2,
hp_min = 8,
hp_max = 12,
armor = 100,
collisionbox = {-0.9, -0.01, -0.9, 0.9, 1.65, 0.9},
visual = "mesh",
mesh = "mobs_cow.b3d",
@ -19,10 +15,7 @@ mobs:register_mob("mobs_animal:cow", {
sounds = {
random = "mobs_cow",
},
walk_velocity = 1,
run_velocity = 3,
jump = true,
jump_height = 4,
drops = {
{name = "mobs:meat_raw"},
{name = "mobs:meat_raw", chance = 2},
@ -30,9 +23,6 @@ mobs:register_mob("mobs_animal:cow", {
{name = "mobs:leather", chance = 2},
{name = "mobs:leather", chance = 2}
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 15,
@ -46,7 +36,7 @@ mobs:register_mob("mobs_animal:cow", {
punch_end = 100,
},
follow = {"farming:wheat", "default:grass"},
view_range = 8,
view_range = 10,
replace_rate = 10,
replace_what = {
{"group:grass", "air", 0},

View File

@ -13,28 +13,17 @@ mobs:register_mob("mobs_animal:wolf", {
textures = {
{"mobs_wolf.png"},
},
runaway = false,
jump = false,
jump_height = 4,
fly = false,
walk_chance = 75,
walk_velocity = 2,
run_velocity = 3,
view_range = 7,
follow = "mobs:meat_raw",
passive = false,
attack_type = "dogfight",
damage = 2,
reach = 2,
attacks_monsters = false,
pathfinding = true,
group_attack = true,
hp_min = 8,
hp_max = 10,
armor = 100,
knock_back = 2,
water_damage = 0,
lava_damage = 5,
fall_damage = 3,
fear_height = 4,
makes_footstep_sound = true,
@ -86,28 +75,18 @@ mobs:register_mob("mobs_animal:dog", {
{"mobs_dog.png"}
},
fear_height = 4,
runaway = false,
jump = false,
jump_height = 4,
fly = false,
walk_chance = 75,
walk_velocity = 2,
run_velocity = 4,
view_range = 15,
follow = "mobs:meat_raw",
passive = false,
attack_type = "dogfight",
damage = 4,
reach = 2,
attacks_monsters = true,
pathfinding = true,
group_attack = true,
hp_min = 15,
hp_max = 25,
armor = 100,
knock_back = 2,
water_damage = 0,
lava_damage = 5,
fall_damage = 5,
makes_footstep_sound = true,
sounds = {

View File

@ -4,7 +4,6 @@ mobs:register_mob("mobs_animal:kitten", {
passive = true,
hp_min = 8,
hp_max = 10,
armor = 100,
collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.1, 0.3},
visual = "mesh",
visual_size = {x = 0.5, y = 0.5},
@ -15,7 +14,6 @@ mobs:register_mob("mobs_animal:kitten", {
{"mobs_kitten_ginger.png"},
{"mobs_kitten_sandy.png"},
},
makes_footstep_sound = false,
sounds = {
random = "mobs_kitten",
},
@ -23,13 +21,11 @@ mobs:register_mob("mobs_animal:kitten", {
walk_chance = 15,
run_velocity = 2,
runaway = true,
jump = true,
jump_height = 5,
drops = {
{name = "farming:string"}
},
water_damage = 1,
lava_damage = 5,
fall_damage = 2,
fear_height = 3,
animation = {

View File

@ -1,13 +1,9 @@
mobs:register_mob("mobs_animal:pig", {
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = true,
reach = 2,
damage = 2,
hp_min = 5,
hp_max = 15,
armor = 100,
collisionbox = {-0.4, -1, -0.4, 0.4, 0.1, 0.4},
visual = "mesh",
mesh = "mobs_pig.x",
@ -21,9 +17,7 @@ mobs:register_mob("mobs_animal:pig", {
},
walk_velocity = 2,
run_velocity = 3,
jump = true,
follow = {"default:apple", "farming:potato"},
view_range = 5,
drops = function(pos)
if rawget(_G, "experience") then
--experience.add_orb(math.random(1,3), pos) -- random amount between 1 and 3
@ -36,9 +30,6 @@ mobs:register_mob("mobs_animal:pig", {
{name = "mobs:pork_raw", chance = 2}
}
end,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fear_height = 2,
animation = {
speed_normal = 20,

View File

@ -5,12 +5,10 @@ for i = 1, #dyes do
mobs:register_mob("mobs_animal:sheep_" .. name, {
stay_near = {"farming:straw", 10},
stepheight = 1.1,
type = "animal",
passive = true,
hp_min = 6,
hp_max = 10,
armor = 100,
collisionbox = {-0.4, -1, -0.4, 0.4, 0.3, 0.4},
visual = "mesh",
mesh = "mobs_sheep.b3d",
@ -22,19 +20,13 @@ for i = 1, #dyes do
random = "mobs_sheep",
damage = "mobs_sheep_angry",
},
walk_velocity = 1,
run_velocity = 2,
runaway = true,
jump = true,
jump_height = 3,
drops = {
{name = "mobs:meat_raw"},
{name = "mobs:meat_raw", chance = 2},
{name = "wool:" .. name}
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 15,
@ -44,7 +36,6 @@ for i = 1, #dyes do
walk_end = 100,
},
follow = {"farming:wheat", "default:grass"},
view_range = 8,
replace_rate = 10,
replace_what = {
{"group:grass", "air", -1},

View File

@ -20,13 +20,9 @@ mobs:register_mob("mobs_monster:skeleton", {
},
hp_min = 10,
hp_max = 15,
armor = 100,
knock_back = 1,
light_damage = 1,
lava_damage = 5,
damage = 1,
reach = 2,
attack_type = "dogfight",
group_attack = true,
view_range = 15,
walk_chance = 75,

View File

@ -4,12 +4,9 @@ mobs:register_mob("mobs_monster:spider", {
group_attack = true,
type = "monster",
passive = false,
attack_type = "dogfight",
reach = 2,
damage = 2,
hp_min = 15,
hp_max = 20,
armor = 100,
collisionbox = {-0.8, -0.5, -0.8, 0.8, 0, 0.8},
visual = "mesh",
mesh = "mobs_spider.b3d",
@ -18,14 +15,11 @@ mobs:register_mob("mobs_monster:spider", {
{"mobs_spider_grey.png"},
{"mobs_spider_orange.png"},
},
makes_footstep_sound = false,
sounds = {
random = "mobs_spider",
attack = "mobs_spider",
},
walk_velocity = 1,
run_velocity = 3,
jump = true,
view_range = 15,
floats = 0,
drops = {
@ -33,8 +27,6 @@ mobs:register_mob("mobs_monster:spider", {
{name = "farming:string", chance = 2}
},
water_damage = 5,
lava_damage = 5,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 20,
@ -77,12 +69,9 @@ mobs:register_mob("mobs_monster:small_spider", {
group_attack = true,
type = "animal",
passive = false,
attack_type = "dogfight",
reach = 2,
damage = 1,
hp_min = 5,
hp_max = 10,
armor = 100,
collisionbox = {-0.3, -0.15, -0.3, 0.3, 0.05, 0.3},
visual = "mesh",
mesh = "mobs_spider.b3d",
@ -92,22 +81,17 @@ mobs:register_mob("mobs_monster:small_spider", {
{"mobs_spider_orange.png"},
},
visual_size = {x = 0.3, y = 0.3},
makes_footstep_sound = false,
sounds = {
random = "mobs_spider",
attack = "mobs_spider",
},
walk_velocity = 1,
run_velocity = 3,
jump = true,
view_range = 10,
floats = 0,
drops = {
{name = "farming:string"}
},
water_damage = 5,
lava_damage = 5,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 20,

View File

@ -20,13 +20,8 @@ mobs:register_mob("mobs_monster:zombie", {
},
hp_min = 15,
hp_max = 25,
armor = 100,
knock_back = 1,
light_damage = 1,
lava_damage = 10,
damage = 2,
reach = 2,
attack_type = "dogfight",
group_attack = true,
view_range = 15,
walk_chance = 75,

View File

@ -4,7 +4,7 @@ local use_cmi = minetest.global_exists("cmi")
mobs = {
mod = "redo",
version = "20190520",
version = "20190630",
invis = minetest.global_exists("invisibility") and invisibility or {},
}
@ -80,7 +80,8 @@ local node_snow = "default:snow"
mobs.fallback_node = minetest.registered_aliases["mapgen_dirt"] or "default:dirt"
local mob_class = {
stepheight = 1.1, -- was 0.6
attack_type = "dogfight",
stepheight = 1.1,
fly_in = "air",
owner = "",
order = "",
@ -97,12 +98,13 @@ local mob_class = {
light_damage_min = 12,
light_damage_max = 15,
water_damage = 0,
lava_damage = 0,
lava_damage = 5,
suffocation = 2,
fall_damage = 1,
fall_speed = -10, -- must be lower than -2 (default: -10)
drops = {},
armor = 100,
runaway = false,
sounds = {},
jump = true,
knock_back = true,
@ -124,7 +126,7 @@ local mob_class = {
child = false,
gotten = false,
health = 0,
reach = 3,
reach = 2,
htimer = 0,
docile_by_day = false,
time_of_day = 0.5,
@ -461,7 +463,6 @@ local ray_line_of_sight = function(self, pos1, pos2)
and not thing.ref:is_player() then return false end
if thing.type == "node" then
local name = minetest.get_node(thing.under).name
if minetest.registered_items[name]
@ -474,16 +475,9 @@ local ray_line_of_sight = function(self, pos1, pos2)
return true
end
-- detect if using minetest 5.0 by searching for permafrost node
local is_50 = minetest.registered_nodes["default:permafrost"]
function mob_class:line_of_sight(pos1, pos2, stepsize)
if is_50 then -- only use if minetest 5.0 is detected
return ray_line_of_sight(self, pos1, pos2)
end
return line_of_sight(self, pos1, pos2, stepsize)
-- return ray_line_of_sight(self, pos1, pos2) -- MT 5.0
end
-- global function
@ -593,7 +587,7 @@ function mob_class:do_stay_near()
z = target.z - pos.z
}
local yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate
yaw = (atan(vec.z / vec.x) + pi / 2) - self.rotate
if target.x > pos.x then
yaw = yaw + pi
@ -665,7 +659,7 @@ end
-- drop items
function mob_class:item_drop()
local pos = self.object:get_pos()
self.drops = type(self.drops) == "function" and self.drops(pos) or self.drops
self.drops = type(self.drops) == "function" and self.drops(pos) or self.drops -- XP
-- check for nil or no drops
if not self.drops or #self.drops == 0 then
@ -3362,11 +3356,13 @@ end -- END mobs:register_mob function
-- count how many mobs of one type are inside an area
-- will also return true for second value if player is inside area
local count_mobs = function(pos, type)
local total = 0
local objs = minetest.get_objects_inside_radius(pos, aoc_range * 2)
local ent
local players
for n = 1, #objs do
@ -3378,10 +3374,12 @@ local count_mobs = function(pos, type)
if ent and ent.name and ent.name == type then
total = total + 1
end
else
players = true
end
end
return total
return total, players
end
@ -3450,7 +3448,12 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light,
end
-- get total number of this mob in area
local num_mob = count_mobs(pos, name)
local num_mob, is_pla = count_mobs(pos, name)
if not is_pla then
--print ("--- no players within active area, will not spawn " .. name)
return
end
if num_mob >= aoc then
--print ("--- too many " .. name .. " in area", num_mob .. "/" .. aoc)
@ -3497,7 +3500,7 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light,
end
-- only spawn away from player
local objs = minetest.get_objects_inside_radius(pos, 10)
local objs = minetest.get_objects_inside_radius(pos, 8)
for n = 1, #objs do
@ -3550,18 +3553,8 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light,
end
-- compatibility with older mob registration
function mobs:register_spawn(name, nodes, max_light, min_light, chance,
active_object_count, max_height, day_toggle)
mobs:spawn_specific(name, nodes, {"air"}, min_light, max_light, 30,
chance, active_object_count, -31000, max_height, day_toggle)
end
-- MarkBu's spawn function
function mobs:spawn(def)
mobs:spawn_specific(
def.name,
def.nodes or {"group:soil", "group:stone"},
@ -3579,13 +3572,13 @@ function mobs:spawn(def)
end
--[[
-- register arrow for shoot attack
function mobs:register_arrow(name, def)
if not name or not def then return end -- errorcheck
minetest.register_entity(name, {
physical = false,
visual = def.visual,
visual_size = def.visual_size,
@ -3602,23 +3595,16 @@ function mobs:register_arrow(name, def)
rotate = def.rotate,
automatic_face_movement_dir = def.rotate
and (def.rotate - (pi / 180)) or false,
on_activate = def.on_activate,
on_punch = def.on_punch or function(self, hitter, tflp, tool_capabilities, dir)
end,
on_step = def.on_step or function(self, dtime)
self.timer = self.timer + 1
local pos = self.object:get_pos()
if self.switch == 0
or self.timer > 150 then
self.object:remove() ; -- print ("removed arrow")
self.object:remove()
return
end
@ -3644,20 +3630,13 @@ function mobs:register_arrow(name, def)
local node = node_ok(pos).name
if minetest.registered_nodes[node].walkable then
self:hit_node(pos, node)
if self.drop == true then
pos.y = pos.y + 1
self.lastpos = (self.lastpos or pos)
minetest.add_item(self.lastpos, self.object:get_luaentity().name)
end
self.object:remove() ; -- print ("hit node")
self.object:remove()
return
end
end
@ -3665,12 +3644,10 @@ function mobs:register_arrow(name, def)
if self.hit_player or self.hit_mob then
for _,player in pairs(minetest.get_objects_inside_radius(pos, 1.0)) do
if self.hit_player
and player:is_player() then
self:hit_player(player)
self.object:remove() ; -- print ("hit player")
self.object:remove()
return
end
@ -3681,16 +3658,12 @@ function mobs:register_arrow(name, def)
and entity._cmi_is_mob == true
and tostring(player) ~= self.owner_id
and entity.name ~= self.object:get_luaentity().name then
self:hit_mob(player)
self.object:remove() ; --print ("hit mob")
self.object:remove()
return
end
end
end
self.lastpos = pos
end
})
@ -3699,24 +3672,19 @@ end
-- compatibility function
function mobs:explosion(pos, radius)
local self = {sounds = {explode = "tnt_explode"}}
mobs:boom(self, pos, radius)
end
end]]
-- no damage to nodes explosion
function mobs:safe_boom(self, pos, radius)
minetest.sound_play(self.sounds and self.sounds.explode or "tnt_explode", {
pos = pos,
gain = 1.0,
max_hear_distance = self.sounds and self.sounds.distance or 32
})
entity_physics(pos, radius)
-- effect(pos, 32, "item_smoke.png", radius * 3, radius * 5, radius, 1, 0)
end
@ -3727,7 +3695,6 @@ function mobs:boom(self, pos, radius)
if mobs_griefing
and minetest.get_modpath("tnt") and tnt and tnt.boom
and not minetest.is_protected(pos, "") then
tnt.boom(pos, {
radius = radius,
damage_radius = radius,
@ -3854,16 +3821,13 @@ function mobs:register_egg(mob, desc, background, addegg, no_creative)
-- register old stackable mob egg
minetest.register_craftitem(mob, {
description = desc,
inventory_image = invimg,
groups = grp,
stack_max = 1,
on_use = throw_spawn_egg,
on_place = function(itemstack, placer, pointed_thing)
local pos = pointed_thing.above
-- am I clicking on something with existing on_rightclick function?
local under = minetest.get_node(pointed_thing.under)
local def = minetest.registered_nodes[under.name]
@ -3916,7 +3880,6 @@ function mobs:force_capture(self, clicker)
end
self.object:remove()
self:mob_sound("default_place_node_hard")
end
@ -3952,18 +3915,14 @@ function mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso,
-- is mob tamed?
if self.tamed == false
and force_take == false then
minetest.chat_send_player(name, "Not tamed!")
return false
end
-- cannot pick up if not owner
if self.owner ~= name
and force_take == false then
minetest.chat_send_player(name, self.owner.." is owner!")
return false
end
@ -4077,17 +4036,15 @@ function mobs:protect(self, clicker)
clicker:set_wielded_item(tool)
end
self.protected = true
self.protected = true
local pos = self.object:get_pos()
pos.y = pos.y + self.collisionbox[2] + 0.5
effect(self.object:get_pos(), 25, "mobs_protect_particle.png", 0.5, 4, 2, 15)
self:mob_sound("mobs_spell")
return true
end
end
local mob_obj = {}
@ -4104,9 +4061,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
if not mobs.is_creative(clicker:get_player_name()) then
local item = clicker:get_wielded_item()
item:take_item()
clicker:set_wielded_item(item)
end
@ -4240,26 +4195,3 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
mob_sta[name] = nil
end
end)
-- compatibility function for old entities to new modpack entities
function mobs:alias_mob(old_name, new_name)
-- spawn egg
minetest.register_alias(old_name, new_name)
-- entity
minetest.register_entity(":" .. old_name, {
physical = false,
on_activate = function(self)
if minetest.registered_entities[new_name] then
minetest.add_entity(self.object:get_pos(), new_name)
end
self.object:remove()
end
})
end

View File

@ -3,20 +3,20 @@
minetest.register_craftitem("mobs:nametag", {
description = "Name Tag",
inventory_image = "mobs_nametag.png",
groups = {flammable = 2},
groups = {flammable = 2}
})
core.register_craft({
type = "shapeless",
output = "mobs:nametag",
recipe = {"default:paper", "dye:black", "farming:string"},
recipe = {"default:paper", "dye:black", "farming:string"}
})
-- leather
minetest.register_craftitem("mobs:leather", {
description = "Leather",
inventory_image = "mobs_leather.png",
groups = {flammable = 2},
groups = {flammable = 2}
})
-- raw meat
@ -24,7 +24,7 @@ minetest.register_craftitem("mobs:meat_raw", {
description = "Raw Meat",
inventory_image = "mobs_meat_raw.png",
on_use = minetest.item_eat(3),
groups = {food_meat_raw = 1, flammable = 2},
groups = {food_meat_raw = 1, flammable = 2, food = 1}
})
-- cooked meat
@ -32,14 +32,14 @@ minetest.register_craftitem("mobs:meat", {
description = "Cooked Meat",
inventory_image = "mobs_meat.png",
on_use = minetest.item_eat(8),
groups = {food_meat = 1, flammable = 2},
groups = {food_meat = 1, flammable = 2, food = 1}
})
minetest.register_craft({
type = "cooking",
output = "mobs:meat",
recipe = "mobs:meat_raw",
cooktime = 5,
cooktime = 5
})
-- raw pork
@ -47,7 +47,7 @@ minetest.register_craftitem("mobs:pork_raw", {
description = "Raw Pork",
inventory_image = "mobs_pork_raw.png",
on_use = minetest.item_eat(3),
groups = {food_meat_raw = 1, flammable = 2},
groups = {food_meat_raw = 1, flammable = 2, food = 1}
})
-- cooked pork
@ -55,14 +55,14 @@ minetest.register_craftitem("mobs:pork", {
description = "Cooked Pork",
inventory_image = "mobs_pork_cooked.png",
on_use = minetest.item_eat(8),
groups = {food_meat = 1, flammable = 2},
groups = {food_meat = 1, flammable = 2, food = 1}
})
minetest.register_craft({
type = "cooking",
output = "mobs:pork",
recipe = "mobs:pork_raw",
cooktime = 5,
cooktime = 5
})
-- raw rabbit
@ -70,7 +70,7 @@ minetest.register_craftitem("mobs:rabbit_raw", {
description = "Raw Rabbit",
inventory_image = "mobs_rabbit_raw.png",
on_use = minetest.item_eat(3),
groups = {food_meat_raw = 1, food_rabbit_raw = 1, flammable = 2},
groups = {food_meat_raw = 1, food_rabbit_raw = 1, flammable = 2, food = 1}
})
-- cooked rabbit
@ -78,21 +78,21 @@ minetest.register_craftitem("mobs:rabbit_cooked", {
description = "Cooked Rabbit",
inventory_image = "mobs_rabbit_cooked.png",
on_use = minetest.item_eat(5),
groups = {food_meat = 1, food_rabbit = 1, flammable = 2},
groups = {food_meat = 1, food_rabbit = 1, flammable = 2, food = 1}
})
minetest.register_craft({
type = "cooking",
output = "mobs:rabbit_cooked",
recipe = "mobs:rabbit_raw",
cooktime = 5,
cooktime = 5
})
-- rabbit hide
minetest.register_craftitem("mobs:rabbit_hide", {
description = "Rabbit Hide",
inventory_image = "mobs_rabbit_hide.png",
groups = {flammable = 2},
groups = {flammable = 2}
})
minetest.register_craft({
@ -145,13 +145,13 @@ minetest.register_craftitem("mobs:chicken_egg_fried", {
description = "Fried Egg",
inventory_image = "mobs_chicken_egg_fried.png",
on_use = minetest.item_eat(2),
groups = {flammable = 2},
groups = {flammable = 2, food = 1}
})
minetest.register_craft({
type = "cooking",
recipe = "mobs:chicken_egg",
output = "mobs:chicken_egg_fried",
output = "mobs:chicken_egg_fried"
})
-- raw chicken
@ -159,7 +159,7 @@ minetest.register_craftitem("mobs:chicken_raw", {
description = "Raw Chicken",
inventory_image = "mobs_chicken_raw.png",
on_use = minetest.item_eat(2),
groups = {food_meat_raw = 1, food_chicken_raw = 1, flammable = 2},
groups = {food_meat_raw = 1, food_chicken_raw = 1, flammable = 2, food = 1}
})
-- cooked chicken
@ -167,13 +167,13 @@ minetest.register_craftitem("mobs:chicken_cooked", {
description = "Cooked Chicken",
inventory_image = "mobs_chicken_cooked.png",
on_use = minetest.item_eat(6),
groups = {food_meat = 1, food_chicken = 1, flammable = 2},
groups = {food_meat = 1, food_chicken = 1, flammable = 2, food = 1}
})
minetest.register_craft({
type = "cooking",
recipe = "mobs:chicken_raw",
output = "mobs:chicken_cooked",
output = "mobs:chicken_cooked"
})
-- bucket of milk
@ -182,7 +182,7 @@ minetest.register_craftitem("mobs:bucket_milk", {
inventory_image = "mobs_bucket_milk.png",
stack_max = 1,
on_use = minetest.item_eat(8, "bucket:bucket_empty"),
groups = {food_milk = 1, flammable = 3},
groups = {food_milk = 1, flammable = 3, food = 1}
})
-- cheese wedge
@ -190,7 +190,7 @@ minetest.register_craftitem("mobs:cheese", {
description = "Cheese",
inventory_image = "mobs_cheese.png",
on_use = minetest.item_eat(4),
groups = {food_cheese = 1, flammable = 2},
groups = {food_cheese = 1, flammable = 2, food = 1}
})
minetest.register_craft({
@ -215,14 +215,14 @@ minetest.register_craft({
recipe = {
{"mobs:cheese", "mobs:cheese", "mobs:cheese"},
{"mobs:cheese", "mobs:cheese", "mobs:cheese"},
{"mobs:cheese", "mobs:cheese", "mobs:cheese"},
{"mobs:cheese", "mobs:cheese", "mobs:cheese"}
}
})
minetest.register_craft({
output = "mobs:cheese 9",
recipe = {
{"mobs:cheeseblock"},
{"mobs:cheeseblock"}
}
})
@ -231,6 +231,7 @@ minetest.register_craftitem("mobs:rotten_flesh", {
description = "Rotten Flesh",
inventory_image = "mobs_rotten_flesh.png",
on_use = minetest.item_eat(1),
groups = {flammable = 2, food = 1}
})
minetest.register_alias("mobs_monster:rotten_flesh", "mobs:rotten_flesh")
@ -241,14 +242,14 @@ minetest.register_alias("mobs:lasso", "farming:string")
minetest.register_tool("mobs:shears", {
description = "Steel Shears (right-click to shear)",
inventory_image = "mobs_shears.png",
groups = {flammable = 2},
groups = {flammable = 2}
})
minetest.register_craft({
output = "mobs:shears",
recipe = {
{"", "default:steel_ingot", ""},
{"", "group:stick", "default:steel_ingot"},
{"", "group:stick", "default:steel_ingot"}
}
})
@ -258,11 +259,12 @@ minetest.register_node("mobs:cobweb", {
drawtype = "plantlike",
visual_scale = 1.2,
tiles = {"mobs_cobweb.png"},
inventory_image = "mobs_cobweb.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
groups = {snappy = 1, disable_jump = 1, speed = -30},
sounds = default.node_sound_leaves_defaults(),
sounds = default.node_sound_leaves_defaults()
})
-- protection item
@ -277,7 +279,7 @@ minetest.register_craft({
recipe = {
{"default:stone", "default:stone", "default:stone"},
{"default:stone", "default:goldblock", "default:stone"},
{"default:stone", "default:stone", "default:stone"},
{"default:stone", "default:stone", "default:stone"}
}
})
@ -285,18 +287,18 @@ minetest.register_craft({
minetest.register_craft({
type = "fuel",
recipe = "mobs:nametag",
burntime = 3,
burntime = 3
})
minetest.register_craft({
type = "fuel",
recipe = "mobs:leather",
burntime = 4,
burntime = 4
})
minetest.register_craft({
type = "fuel",
recipe = "mobs:rabbit_hide",
burntime = 2,
burntime = 2
})

View File

@ -1,2 +1,3 @@
default
wool
farming?

View File

@ -9,7 +9,7 @@ for node, def in pairs(minetest.registered_nodes) do
(def.tiles and type(def.tiles[1]) == "string") and
not def.on_rightclick and
not def.on_blast and
not def.allow_metadata_inventory_take and
not def.on_metadata_inventory_put and
not (def.groups.not_in_creative_inventory == 1) and
not (def.groups.not_cuttable == 1) and
not def.groups.colorglass and
@ -357,13 +357,13 @@ for i=1, #nodes do
end
for _, d in pairs(workbench.defs) do
minetest.register_alias("stairs:"..d[1].."_coal", "stairs:"..d[1].."_default_coalblock")
minetest.register_alias("stairs:"..d[1].."_straw", "stairs:"..d[1].."_farming_straw")
minetest.register_alias("stairs:"..d[1].."_coal", "stairs:"..d[1].."_default_coalblock")
minetest.register_alias("stairs:"..d[1].."_lapis_block", "stairs:"..d[1].."_default_lapisblock")
end
for _, e in pairs(stairs_aliases) do
minetest.register_alias("stairs:"..e[1].."_coal", "stairs:"..e[2].."_default_coalblock")
minetest.register_alias("stairs:"..e[1].."_straw", "stairs:"..e[2].."_farming_straw")
minetest.register_alias("stairs:"..e[1].."_coal", "stairs:"..e[2].."_default_coalblock")
minetest.register_alias("stairs:"..e[1].."_lapis_block", "stairs:"..e[2].."_default_lapisblock")
end
minetest.register_alias("stairs:stair_steel", "stairs:stair_default_steelblock")