Update torch, and minor fixes, mobs cleanup
This commit is contained in:
parent
b68b7e36cf
commit
e88a1e7ac4
@ -83,11 +83,7 @@ local filters = {
|
|||||||
return found_in_list(name, {"^boats:", "^carts:"}) or groups.rail
|
return found_in_list(name, {"^boats:", "^carts:"}) or groups.rail
|
||||||
end,
|
end,
|
||||||
["food"] = function(name, def, groups)
|
["food"] = function(name, def, groups)
|
||||||
return def.on_use
|
return def.groups.food
|
||||||
--[[return found_in_list(name, {
|
|
||||||
"fish", "apple", "bread", "chicken_", "meat", "sugar",
|
|
||||||
"mushroom", "pork", "rabbit", "cheese", "milk",
|
|
||||||
})]]
|
|
||||||
end,
|
end,
|
||||||
["tools"] = function(name)
|
["tools"] = function(name)
|
||||||
return minetest.registered_tools[name] or
|
return minetest.registered_tools[name] or
|
||||||
|
@ -92,21 +92,10 @@ minetest.register_alias("default:papyrus", "default:sugarcane")
|
|||||||
|
|
||||||
-- Fences
|
-- Fences
|
||||||
minetest.register_alias("fences:fence_wood", "default:fence_wood")
|
minetest.register_alias("fences:fence_wood", "default:fence_wood")
|
||||||
minetest.register_alias("fences:fence_wood_1", "default:fence_wood")
|
for _, n in pairs({"1", "2", "3", "11", "12", "13", "14",
|
||||||
minetest.register_alias("fences:fence_wood_2", "default:fence_wood")
|
"21", "22", "23", "24", "32", "33", "34", "35"}) do
|
||||||
minetest.register_alias("fences:fence_wood_3", "default:fence_wood")
|
minetest.register_alias("fences:fence_wood_" .. n, "default:fence_wood")
|
||||||
minetest.register_alias("fences:fence_wood_11", "default:fence_wood")
|
end
|
||||||
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")
|
|
||||||
|
|
||||||
-- Hardened Clay
|
-- Hardened Clay
|
||||||
minetest.register_alias("hardened_clay:hardened_clay", "default:hardened_clay")
|
minetest.register_alias("hardened_clay:hardened_clay", "default:hardened_clay")
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
minetest.register_craftitem("default:stick", {
|
minetest.register_craftitem("default:stick", {
|
||||||
description = "Stick",
|
description = "Stick",
|
||||||
inventory_image = "default_stick.png",
|
inventory_image = "default_stick.png",
|
||||||
groups = {stick = 1, flammable = 2},
|
groups = {stick = 1, flammable = 2}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:paper", {
|
minetest.register_craftitem("default:paper", {
|
||||||
description = "Paper",
|
description = "Paper",
|
||||||
inventory_image = "default_paper.png",
|
inventory_image = "default_paper.png",
|
||||||
groups = {flammable = 3},
|
groups = {flammable = 3}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@ -158,7 +158,7 @@ minetest.register_craftitem("default:book", {
|
|||||||
description = "Book",
|
description = "Book",
|
||||||
inventory_image = "default_book.png",
|
inventory_image = "default_book.png",
|
||||||
groups = {book = 1, flammable = 3},
|
groups = {book = 1, flammable = 3},
|
||||||
on_use = book_on_use,
|
on_use = book_on_use
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:book_written", {
|
minetest.register_craftitem("default:book_written", {
|
||||||
@ -166,7 +166,7 @@ minetest.register_craftitem("default:book_written", {
|
|||||||
inventory_image = "default_book_written.png",
|
inventory_image = "default_book_written.png",
|
||||||
groups = {book = 1, not_in_creative_inventory = 1, flammable = 3},
|
groups = {book = 1, not_in_creative_inventory = 1, flammable = 3},
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
on_use = book_on_use,
|
on_use = book_on_use
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:coal_lump", {
|
minetest.register_craftitem("default:coal_lump", {
|
||||||
@ -183,69 +183,71 @@ minetest.register_craftitem("default:charcoal_lump", {
|
|||||||
|
|
||||||
minetest.register_craftitem("default:diamond", {
|
minetest.register_craftitem("default:diamond", {
|
||||||
description = "Diamond",
|
description = "Diamond",
|
||||||
inventory_image = "default_diamond.png",
|
inventory_image = "default_diamond.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:clay_lump", {
|
minetest.register_craftitem("default:clay_lump", {
|
||||||
description = "Clay Lump",
|
description = "Clay Lump",
|
||||||
inventory_image = "default_clay_lump.png",
|
inventory_image = "default_clay_lump.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:steel_ingot", {
|
minetest.register_craftitem("default:steel_ingot", {
|
||||||
description = "Steel Ingot",
|
description = "Steel Ingot",
|
||||||
inventory_image = "default_steel_ingot.png",
|
inventory_image = "default_steel_ingot.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:gold_ingot", {
|
minetest.register_craftitem("default:gold_ingot", {
|
||||||
description = "Gold Ingot",
|
description = "Gold Ingot",
|
||||||
inventory_image = "default_gold_ingot.png",
|
inventory_image = "default_gold_ingot.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:emerald", {
|
minetest.register_craftitem("default:emerald", {
|
||||||
description = "Emerald",
|
description = "Emerald",
|
||||||
inventory_image = "default_emerald.png",
|
inventory_image = "default_emerald.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:clay_brick", {
|
minetest.register_craftitem("default:clay_brick", {
|
||||||
description = "Clay Brick",
|
description = "Clay Brick",
|
||||||
inventory_image = "default_clay_brick.png",
|
inventory_image = "default_clay_brick.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:gunpowder", {
|
minetest.register_craftitem("default:gunpowder", {
|
||||||
description = "Gunpowder",
|
description = "Gunpowder",
|
||||||
inventory_image = "default_gunpowder.png",
|
inventory_image = "default_gunpowder.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:bone", {
|
minetest.register_craftitem("default:bone", {
|
||||||
description = "Bone",
|
description = "Bone",
|
||||||
inventory_image = "default_bone.png",
|
inventory_image = "default_bone.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:glowstone_dust", {
|
minetest.register_craftitem("default:glowstone_dust", {
|
||||||
description = "Glowstone Dust",
|
description = "Glowstone Dust",
|
||||||
inventory_image = "default_glowstone_dust.png",
|
inventory_image = "default_glowstone_dust.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:fish_raw", {
|
minetest.register_craftitem("default:fish_raw", {
|
||||||
description = "Raw Fish",
|
description = "Raw Fish",
|
||||||
inventory_image = "default_fish.png",
|
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", {
|
minetest.register_craftitem("default:fish", {
|
||||||
description = "Cooked Fish",
|
description = "Cooked Fish",
|
||||||
inventory_image = "default_fish_cooked.png",
|
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", {
|
minetest.register_craftitem("default:sugar", {
|
||||||
description = "Sugar",
|
description = "Sugar",
|
||||||
inventory_image = "default_sugar.png",
|
inventory_image = "default_sugar.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:quartz_crystal", {
|
minetest.register_craftitem("default:quartz_crystal", {
|
||||||
description = "Quartz Crystal",
|
description = "Quartz Crystal",
|
||||||
inventory_image = "default_quartz_crystal.png",
|
inventory_image = "default_quartz_crystal.png"
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("default:flint", {
|
minetest.register_craftitem("default:flint", {
|
||||||
|
58
games/default/files/default/models/torch_ceiling.obj
Normal file
58
games/default/files/default/models/torch_ceiling.obj
Normal 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
|
50
games/default/files/default/models/torch_floor.obj
Normal file
50
games/default/files/default/models/torch_floor.obj
Normal 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
|
64
games/default/files/default/models/torch_wall.obj
Normal file
64
games/default/files/default/models/torch_wall.obj
Normal 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
|
@ -338,7 +338,7 @@ minetest.register_node("default:leaves", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
walkable = false,
|
walkable = false,
|
||||||
is_ground_content = 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 = {
|
drop = {
|
||||||
max_items = 1,
|
max_items = 1,
|
||||||
items = {
|
items = {
|
||||||
@ -374,7 +374,7 @@ minetest.register_node("default:apple", {
|
|||||||
fixed = {-3 / 16, -7 / 16, -3 / 16, 3 / 16, 4 / 16, 3 / 16}
|
fixed = {-3 / 16, -7 / 16, -3 / 16, 3 / 16, 4 / 16, 3 / 16}
|
||||||
},
|
},
|
||||||
groups = {fleshy = 3, dig_immediate = 3, flammable = 2,
|
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),
|
on_use = minetest.item_eat(2),
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
|
||||||
@ -396,7 +396,7 @@ minetest.register_node("default:apple_gold", {
|
|||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
|
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),
|
on_use = minetest.item_eat(8),
|
||||||
sounds = default.node_sound_defaults(),
|
sounds = default.node_sound_defaults(),
|
||||||
})
|
})
|
||||||
@ -432,7 +432,7 @@ minetest.register_node("default:jungleleaves", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
walkable = false,
|
walkable = false,
|
||||||
is_ground_content = 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 = {
|
drop = {
|
||||||
max_items = 1,
|
max_items = 1,
|
||||||
items = {
|
items = {
|
||||||
@ -591,7 +591,7 @@ minetest.register_node("default:acacia_leaves", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
walkable = false,
|
walkable = false,
|
||||||
is_ground_content = 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 = {
|
drop = {
|
||||||
max_items = 1,
|
max_items = 1,
|
||||||
items = {
|
items = {
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 129 B |
Binary file not shown.
Before Width: | Height: | Size: 123 B |
@ -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", {
|
minetest.register_node("default:torch", {
|
||||||
description = "Torch",
|
description = "Torch",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "torch_floor.obj",
|
||||||
inventory_image = "default_torch_on_floor.png",
|
inventory_image = "default_torch_on_floor.png",
|
||||||
wield_image = "default_torch_on_floor.png",
|
wield_image = "default_torch_on_floor.png",
|
||||||
tiles = {
|
tiles = {{
|
||||||
"default_torch_on_floor_top.png",
|
name = "default_torch_on_floor.png",
|
||||||
"default_torch_on_floor_bottom.png",
|
-- name = "default_torch_on_floor_animated.png",
|
||||||
"default_torch_on_floor.png",
|
-- animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
|
||||||
"default_torch_on_floor.png",
|
}},
|
||||||
"default_torch_on_floor.png",
|
|
||||||
"default_torch_on_floor.png"
|
|
||||||
},
|
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "wallmounted",
|
paramtype2 = "wallmounted",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
is_ground_content = false,
|
|
||||||
walkable = 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,
|
liquids_pointable = false,
|
||||||
drawtype = "nodebox",
|
light_source = 12,
|
||||||
paramtype = "light",
|
groups = {choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1, torch = 1},
|
||||||
node_box = {
|
drop = "default:torch",
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{-0.0625, -0.5, -0.0625, 0.0625, 0.125, 0.0625}, -- NodeBox1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
selection_box = {
|
selection_box = {
|
||||||
type = "wallmounted",
|
type = "wallmounted",
|
||||||
wall_top = {-0.1, 0.5 - 0.6, -0.1, 0.1, 0.5, 0.1},
|
wall_bottom = {-1/8, -1/2, -1/8, 1/8, 2/16, 1/8},
|
||||||
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},
|
|
||||||
},
|
},
|
||||||
|
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,
|
||||||
})
|
})
|
||||||
|
@ -21,21 +21,21 @@ farming.register_plant("farming:wheat", {
|
|||||||
minlight = 13,
|
minlight = 13,
|
||||||
maxlight = minetest.LIGHT_MAX,
|
maxlight = minetest.LIGHT_MAX,
|
||||||
fertility = {"grassland"},
|
fertility = {"grassland"},
|
||||||
groups = {food_wheat = 1, flammable = 4},
|
|
||||||
place_param2 = 3,
|
place_param2 = 3,
|
||||||
|
groups = {food_wheat = 1, flammable = 4}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("farming:flour", {
|
minetest.register_craftitem("farming:flour", {
|
||||||
description = "Flour",
|
description = "Flour",
|
||||||
inventory_image = "farming_flour.png",
|
inventory_image = "farming_flour.png",
|
||||||
groups = {food_flour = 1, flammable = 1},
|
groups = {food_flour = 1, flammable = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("farming:bread", {
|
minetest.register_craftitem("farming:bread", {
|
||||||
description = "Bread",
|
description = "Bread",
|
||||||
inventory_image = "farming_bread.png",
|
inventory_image = "farming_bread.png",
|
||||||
on_use = minetest.item_eat(5),
|
on_use = minetest.item_eat(5),
|
||||||
groups = {food_bread = 1, flammable = 2},
|
groups = {food_bread = 1, flammable = 2, food = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
@ -56,7 +56,7 @@ minetest.register_craft({
|
|||||||
minetest.register_craftitem("farming:string",{
|
minetest.register_craftitem("farming:string",{
|
||||||
description = "String",
|
description = "String",
|
||||||
inventory_image = "farming_string.png",
|
inventory_image = "farming_string.png",
|
||||||
groups = {materials = 1},
|
groups = {materials = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Cotton
|
-- Cotton
|
||||||
@ -95,14 +95,14 @@ minetest.register_craft({
|
|||||||
recipe = {
|
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"},
|
||||||
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
{"farming:wheat", "farming:wheat", "farming:wheat"}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "farming:wheat 3",
|
output = "farming:wheat 3",
|
||||||
recipe = {
|
recipe = {
|
||||||
{"farming:straw"},
|
{"farming:straw"}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -112,29 +112,29 @@ minetest.register_craft({
|
|||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "farming:straw",
|
recipe = "farming:straw",
|
||||||
burntime = 3,
|
burntime = 3
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "farming:wheat",
|
recipe = "farming:wheat",
|
||||||
burntime = 1,
|
burntime = 1
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "farming:cotton",
|
recipe = "farming:cotton",
|
||||||
burntime = 1,
|
burntime = 1
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "farming:string",
|
recipe = "farming:string",
|
||||||
burntime = 1,
|
burntime = 1
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "farming:hoe_wood",
|
recipe = "farming:hoe_wood",
|
||||||
burntime = 5,
|
burntime = 5
|
||||||
})
|
})
|
||||||
|
@ -42,7 +42,7 @@ minetest.register_node("farming:soil", {
|
|||||||
description = "Soil",
|
description = "Soil",
|
||||||
tiles = {"farming_soil.png", "default_dirt.png"},
|
tiles = {"farming_soil.png", "default_dirt.png"},
|
||||||
drop = "default:dirt",
|
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(),
|
sounds = default.node_sound_dirt_defaults(),
|
||||||
soil = {
|
soil = {
|
||||||
base = "default:dirt",
|
base = "default:dirt",
|
||||||
@ -55,7 +55,7 @@ minetest.register_node("farming:soil_wet", {
|
|||||||
description = "Wet Soil",
|
description = "Wet Soil",
|
||||||
tiles = {"farming_soil_wet.png", "default_dirt.png"},
|
tiles = {"farming_soil_wet.png", "default_dirt.png"},
|
||||||
drop = "default:dirt",
|
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(),
|
sounds = default.node_sound_dirt_defaults(),
|
||||||
soil = {
|
soil = {
|
||||||
base = "default:dirt",
|
base = "default:dirt",
|
||||||
@ -100,9 +100,9 @@ minetest.register_node("farming:desert_sand_soil_wet", {
|
|||||||
|
|
||||||
minetest.register_node("farming:straw", {
|
minetest.register_node("farming:straw", {
|
||||||
description = "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,
|
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(),
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ minetest.register_node("flowers:mushroom_red", {
|
|||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
walkable = false,
|
walkable = false,
|
||||||
buildable_to = true,
|
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(),
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
on_use = minetest.item_eat(-5),
|
on_use = minetest.item_eat(-5),
|
||||||
selection_box = {
|
selection_box = {
|
||||||
@ -193,7 +193,7 @@ minetest.register_node("flowers:mushroom_brown", {
|
|||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
walkable = false,
|
walkable = false,
|
||||||
buildable_to = true,
|
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(),
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
on_use = minetest.item_eat(1),
|
on_use = minetest.item_eat(1),
|
||||||
selection_box = {
|
selection_box = {
|
||||||
|
@ -17,8 +17,6 @@ mobs:register_mob("mobs_animal:bear", {
|
|||||||
},
|
},
|
||||||
runaway = false,
|
runaway = false,
|
||||||
jump = false,
|
jump = false,
|
||||||
jump_height = 4,
|
|
||||||
fly = false,
|
|
||||||
walk_chance = 75,
|
walk_chance = 75,
|
||||||
walk_velocity = 3,
|
walk_velocity = 3,
|
||||||
run_velocity = 3,
|
run_velocity = 3,
|
||||||
@ -26,19 +24,12 @@ mobs:register_mob("mobs_animal:bear", {
|
|||||||
follow = {
|
follow = {
|
||||||
"farming:blueberries", "farming:raspberries"
|
"farming:blueberries", "farming:raspberries"
|
||||||
},
|
},
|
||||||
passive = false,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
damage = 4,
|
damage = 4,
|
||||||
reach = 3,
|
|
||||||
attacks_monsters = true,
|
attacks_monsters = true,
|
||||||
pathfinding = true,
|
pathfinding = true,
|
||||||
group_attack = true,
|
group_attack = true,
|
||||||
hp_min = 10,
|
hp_min = 10,
|
||||||
hp_max = 15,
|
hp_max = 15,
|
||||||
armor = 100,
|
|
||||||
knock_back = 2,
|
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 5,
|
|
||||||
fall_damage = 3,
|
fall_damage = 3,
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
drops = {
|
drops = {
|
||||||
|
@ -5,7 +5,6 @@ mobs:register_mob("mobs_animal:bunny", {
|
|||||||
reach = 1,
|
reach = 1,
|
||||||
hp_min = 1,
|
hp_min = 1,
|
||||||
hp_max = 4,
|
hp_max = 4,
|
||||||
armor = 100,
|
|
||||||
collisionbox = {-0.268, -0.5, -0.268, 0.268, 0.167, 0.268},
|
collisionbox = {-0.268, -0.5, -0.268, 0.268, 0.167, 0.268},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_bunny.b3d",
|
mesh = "mobs_bunny.b3d",
|
||||||
@ -15,21 +14,14 @@ mobs:register_mob("mobs_animal:bunny", {
|
|||||||
{"mobs_bunny_brown.png"},
|
{"mobs_bunny_brown.png"},
|
||||||
{"mobs_bunny_white.png"},
|
{"mobs_bunny_white.png"},
|
||||||
},
|
},
|
||||||
sounds = {},
|
|
||||||
makes_footstep_sound = false,
|
|
||||||
walk_velocity = 1,
|
|
||||||
run_velocity = 2,
|
|
||||||
runaway = true,
|
runaway = true,
|
||||||
runaway_from = {"mobs_animal:pumba", "player"},
|
runaway_from = {"mobs_animal:pumba", "player"},
|
||||||
jump = true,
|
|
||||||
jump_height = 5,
|
jump_height = 5,
|
||||||
drops = {
|
drops = {
|
||||||
{name = "mobs:rabbit_raw"},
|
{name = "mobs:rabbit_raw"},
|
||||||
{name = "mobs:rabbit_hide", min = 0, max = 1},
|
{name = "mobs:rabbit_hide", min = 0, max = 1},
|
||||||
},
|
},
|
||||||
water_damage = 1,
|
water_damage = 1,
|
||||||
lava_damage = 4,
|
|
||||||
light_damage = 0,
|
|
||||||
fear_height = 2,
|
fear_height = 2,
|
||||||
animation = {
|
animation = {
|
||||||
speed_normal = 15,
|
speed_normal = 15,
|
||||||
@ -41,7 +33,6 @@ mobs:register_mob("mobs_animal:bunny", {
|
|||||||
punch_end = 24,
|
punch_end = 24,
|
||||||
},
|
},
|
||||||
follow = {"farming:carrot", "farming_plus:carrot_item", "default:grass"},
|
follow = {"farming:carrot", "farming_plus:carrot_item", "default:grass"},
|
||||||
view_range = 8,
|
|
||||||
replace_rate = 10,
|
replace_rate = 10,
|
||||||
replace_what = {"farming:carrot_7", "farming:carrot_8", "farming_plus:carrot"},
|
replace_what = {"farming:carrot_7", "farming:carrot_8", "farming_plus:carrot"},
|
||||||
replace_with = "air",
|
replace_with = "air",
|
||||||
@ -96,7 +87,6 @@ mobs:register_mob("mobs_animal:bunny", {
|
|||||||
|
|
||||||
return true -- run only once, false/nil runs every activation
|
return true -- run only once, false/nil runs every activation
|
||||||
end,
|
end,
|
||||||
attack_type = "dogfight",
|
|
||||||
damage = 5,
|
damage = 5,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@ mobs:register_mob("mobs_animal:chicken", {
|
|||||||
passive = true,
|
passive = true,
|
||||||
hp_min = 3,
|
hp_min = 3,
|
||||||
hp_max = 6,
|
hp_max = 6,
|
||||||
armor = 100,
|
|
||||||
collisionbox = {-0.35, -0.01, -0.35, 0.35, 0.75, 0.35},
|
collisionbox = {-0.35, -0.01, -0.35, 0.35, 0.75, 0.35},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_chicken.b3d",
|
mesh = "mobs_chicken.b3d",
|
||||||
@ -12,15 +11,11 @@ mobs:register_mob("mobs_animal:chicken", {
|
|||||||
sounds = {
|
sounds = {
|
||||||
random = "mobs_chicken",
|
random = "mobs_chicken",
|
||||||
},
|
},
|
||||||
walk_velocity = 1,
|
|
||||||
run_velocity = 3,
|
run_velocity = 3,
|
||||||
runaway = true,
|
runaway = true,
|
||||||
drops = {
|
drops = {
|
||||||
{name = "mobs:chicken_raw"}
|
{name = "mobs:chicken_raw"}
|
||||||
},
|
},
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 5,
|
|
||||||
light_damage = 0,
|
|
||||||
fall_damage = 0,
|
fall_damage = 0,
|
||||||
fall_speed = -8,
|
fall_speed = -8,
|
||||||
fear_height = 5,
|
fear_height = 5,
|
||||||
@ -33,7 +28,6 @@ mobs:register_mob("mobs_animal:chicken", {
|
|||||||
run_end = 80,
|
run_end = 80,
|
||||||
},
|
},
|
||||||
follow = {"farming:seed_wheat"},
|
follow = {"farming:seed_wheat"},
|
||||||
view_range = 5,
|
|
||||||
|
|
||||||
on_rightclick = function(self, clicker)
|
on_rightclick = function(self, clicker)
|
||||||
if mobs:feed_tame(self, clicker, 8, true, true) then return end
|
if mobs:feed_tame(self, clicker, 8, true, true) then return end
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
mobs:register_mob("mobs_animal:cow", {
|
mobs:register_mob("mobs_animal:cow", {
|
||||||
type = "animal",
|
type = "animal",
|
||||||
passive = false,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
reach = 2,
|
|
||||||
damage = 2,
|
damage = 2,
|
||||||
hp_min = 8,
|
hp_min = 8,
|
||||||
hp_max = 12,
|
hp_max = 12,
|
||||||
armor = 100,
|
|
||||||
collisionbox = {-0.9, -0.01, -0.9, 0.9, 1.65, 0.9},
|
collisionbox = {-0.9, -0.01, -0.9, 0.9, 1.65, 0.9},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_cow.b3d",
|
mesh = "mobs_cow.b3d",
|
||||||
@ -19,10 +15,7 @@ mobs:register_mob("mobs_animal:cow", {
|
|||||||
sounds = {
|
sounds = {
|
||||||
random = "mobs_cow",
|
random = "mobs_cow",
|
||||||
},
|
},
|
||||||
walk_velocity = 1,
|
|
||||||
run_velocity = 3,
|
run_velocity = 3,
|
||||||
jump = true,
|
|
||||||
jump_height = 4,
|
|
||||||
drops = {
|
drops = {
|
||||||
{name = "mobs:meat_raw"},
|
{name = "mobs:meat_raw"},
|
||||||
{name = "mobs:meat_raw", chance = 2},
|
{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},
|
||||||
{name = "mobs:leather", chance = 2}
|
{name = "mobs:leather", chance = 2}
|
||||||
},
|
},
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 5,
|
|
||||||
light_damage = 0,
|
|
||||||
animation = {
|
animation = {
|
||||||
speed_normal = 15,
|
speed_normal = 15,
|
||||||
speed_run = 15,
|
speed_run = 15,
|
||||||
@ -46,7 +36,7 @@ mobs:register_mob("mobs_animal:cow", {
|
|||||||
punch_end = 100,
|
punch_end = 100,
|
||||||
},
|
},
|
||||||
follow = {"farming:wheat", "default:grass"},
|
follow = {"farming:wheat", "default:grass"},
|
||||||
view_range = 8,
|
view_range = 10,
|
||||||
replace_rate = 10,
|
replace_rate = 10,
|
||||||
replace_what = {
|
replace_what = {
|
||||||
{"group:grass", "air", 0},
|
{"group:grass", "air", 0},
|
||||||
|
@ -13,28 +13,17 @@ mobs:register_mob("mobs_animal:wolf", {
|
|||||||
textures = {
|
textures = {
|
||||||
{"mobs_wolf.png"},
|
{"mobs_wolf.png"},
|
||||||
},
|
},
|
||||||
runaway = false,
|
|
||||||
jump = false,
|
jump = false,
|
||||||
jump_height = 4,
|
|
||||||
fly = false,
|
|
||||||
walk_chance = 75,
|
walk_chance = 75,
|
||||||
walk_velocity = 2,
|
walk_velocity = 2,
|
||||||
run_velocity = 3,
|
run_velocity = 3,
|
||||||
view_range = 7,
|
view_range = 7,
|
||||||
follow = "mobs:meat_raw",
|
follow = "mobs:meat_raw",
|
||||||
passive = false,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
damage = 2,
|
damage = 2,
|
||||||
reach = 2,
|
|
||||||
attacks_monsters = false,
|
|
||||||
pathfinding = true,
|
pathfinding = true,
|
||||||
group_attack = true,
|
group_attack = true,
|
||||||
hp_min = 8,
|
hp_min = 8,
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
armor = 100,
|
|
||||||
knock_back = 2,
|
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 5,
|
|
||||||
fall_damage = 3,
|
fall_damage = 3,
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
makes_footstep_sound = true,
|
makes_footstep_sound = true,
|
||||||
@ -86,28 +75,18 @@ mobs:register_mob("mobs_animal:dog", {
|
|||||||
{"mobs_dog.png"}
|
{"mobs_dog.png"}
|
||||||
},
|
},
|
||||||
fear_height = 4,
|
fear_height = 4,
|
||||||
runaway = false,
|
|
||||||
jump = false,
|
jump = false,
|
||||||
jump_height = 4,
|
|
||||||
fly = false,
|
|
||||||
walk_chance = 75,
|
walk_chance = 75,
|
||||||
walk_velocity = 2,
|
walk_velocity = 2,
|
||||||
run_velocity = 4,
|
run_velocity = 4,
|
||||||
view_range = 15,
|
view_range = 15,
|
||||||
follow = "mobs:meat_raw",
|
follow = "mobs:meat_raw",
|
||||||
passive = false,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
damage = 4,
|
damage = 4,
|
||||||
reach = 2,
|
|
||||||
attacks_monsters = true,
|
attacks_monsters = true,
|
||||||
pathfinding = true,
|
pathfinding = true,
|
||||||
group_attack = true,
|
group_attack = true,
|
||||||
hp_min = 15,
|
hp_min = 15,
|
||||||
hp_max = 25,
|
hp_max = 25,
|
||||||
armor = 100,
|
|
||||||
knock_back = 2,
|
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 5,
|
|
||||||
fall_damage = 5,
|
fall_damage = 5,
|
||||||
makes_footstep_sound = true,
|
makes_footstep_sound = true,
|
||||||
sounds = {
|
sounds = {
|
||||||
|
@ -4,7 +4,6 @@ mobs:register_mob("mobs_animal:kitten", {
|
|||||||
passive = true,
|
passive = true,
|
||||||
hp_min = 8,
|
hp_min = 8,
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
armor = 100,
|
|
||||||
collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.1, 0.3},
|
collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.1, 0.3},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
visual_size = {x = 0.5, y = 0.5},
|
visual_size = {x = 0.5, y = 0.5},
|
||||||
@ -15,7 +14,6 @@ mobs:register_mob("mobs_animal:kitten", {
|
|||||||
{"mobs_kitten_ginger.png"},
|
{"mobs_kitten_ginger.png"},
|
||||||
{"mobs_kitten_sandy.png"},
|
{"mobs_kitten_sandy.png"},
|
||||||
},
|
},
|
||||||
makes_footstep_sound = false,
|
|
||||||
sounds = {
|
sounds = {
|
||||||
random = "mobs_kitten",
|
random = "mobs_kitten",
|
||||||
},
|
},
|
||||||
@ -23,13 +21,11 @@ mobs:register_mob("mobs_animal:kitten", {
|
|||||||
walk_chance = 15,
|
walk_chance = 15,
|
||||||
run_velocity = 2,
|
run_velocity = 2,
|
||||||
runaway = true,
|
runaway = true,
|
||||||
jump = true,
|
|
||||||
jump_height = 5,
|
jump_height = 5,
|
||||||
drops = {
|
drops = {
|
||||||
{name = "farming:string"}
|
{name = "farming:string"}
|
||||||
},
|
},
|
||||||
water_damage = 1,
|
water_damage = 1,
|
||||||
lava_damage = 5,
|
|
||||||
fall_damage = 2,
|
fall_damage = 2,
|
||||||
fear_height = 3,
|
fear_height = 3,
|
||||||
animation = {
|
animation = {
|
||||||
|
@ -1,13 +1,9 @@
|
|||||||
mobs:register_mob("mobs_animal:pig", {
|
mobs:register_mob("mobs_animal:pig", {
|
||||||
type = "animal",
|
type = "animal",
|
||||||
passive = false,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
group_attack = true,
|
group_attack = true,
|
||||||
reach = 2,
|
|
||||||
damage = 2,
|
damage = 2,
|
||||||
hp_min = 5,
|
hp_min = 5,
|
||||||
hp_max = 15,
|
hp_max = 15,
|
||||||
armor = 100,
|
|
||||||
collisionbox = {-0.4, -1, -0.4, 0.4, 0.1, 0.4},
|
collisionbox = {-0.4, -1, -0.4, 0.4, 0.1, 0.4},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_pig.x",
|
mesh = "mobs_pig.x",
|
||||||
@ -21,9 +17,7 @@ mobs:register_mob("mobs_animal:pig", {
|
|||||||
},
|
},
|
||||||
walk_velocity = 2,
|
walk_velocity = 2,
|
||||||
run_velocity = 3,
|
run_velocity = 3,
|
||||||
jump = true,
|
|
||||||
follow = {"default:apple", "farming:potato"},
|
follow = {"default:apple", "farming:potato"},
|
||||||
view_range = 5,
|
|
||||||
drops = function(pos)
|
drops = function(pos)
|
||||||
if rawget(_G, "experience") then
|
if rawget(_G, "experience") then
|
||||||
--experience.add_orb(math.random(1,3), pos) -- random amount between 1 and 3
|
--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}
|
{name = "mobs:pork_raw", chance = 2}
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 5,
|
|
||||||
light_damage = 0,
|
|
||||||
fear_height = 2,
|
fear_height = 2,
|
||||||
animation = {
|
animation = {
|
||||||
speed_normal = 20,
|
speed_normal = 20,
|
||||||
|
@ -5,12 +5,10 @@ for i = 1, #dyes do
|
|||||||
|
|
||||||
mobs:register_mob("mobs_animal:sheep_" .. name, {
|
mobs:register_mob("mobs_animal:sheep_" .. name, {
|
||||||
stay_near = {"farming:straw", 10},
|
stay_near = {"farming:straw", 10},
|
||||||
stepheight = 1.1,
|
|
||||||
type = "animal",
|
type = "animal",
|
||||||
passive = true,
|
passive = true,
|
||||||
hp_min = 6,
|
hp_min = 6,
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
armor = 100,
|
|
||||||
collisionbox = {-0.4, -1, -0.4, 0.4, 0.3, 0.4},
|
collisionbox = {-0.4, -1, -0.4, 0.4, 0.3, 0.4},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_sheep.b3d",
|
mesh = "mobs_sheep.b3d",
|
||||||
@ -22,19 +20,13 @@ for i = 1, #dyes do
|
|||||||
random = "mobs_sheep",
|
random = "mobs_sheep",
|
||||||
damage = "mobs_sheep_angry",
|
damage = "mobs_sheep_angry",
|
||||||
},
|
},
|
||||||
walk_velocity = 1,
|
|
||||||
run_velocity = 2,
|
|
||||||
runaway = true,
|
runaway = true,
|
||||||
jump = true,
|
|
||||||
jump_height = 3,
|
jump_height = 3,
|
||||||
drops = {
|
drops = {
|
||||||
{name = "mobs:meat_raw"},
|
{name = "mobs:meat_raw"},
|
||||||
{name = "mobs:meat_raw", chance = 2},
|
{name = "mobs:meat_raw", chance = 2},
|
||||||
{name = "wool:" .. name}
|
{name = "wool:" .. name}
|
||||||
},
|
},
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 5,
|
|
||||||
light_damage = 0,
|
|
||||||
animation = {
|
animation = {
|
||||||
speed_normal = 15,
|
speed_normal = 15,
|
||||||
speed_run = 15,
|
speed_run = 15,
|
||||||
@ -44,7 +36,6 @@ for i = 1, #dyes do
|
|||||||
walk_end = 100,
|
walk_end = 100,
|
||||||
},
|
},
|
||||||
follow = {"farming:wheat", "default:grass"},
|
follow = {"farming:wheat", "default:grass"},
|
||||||
view_range = 8,
|
|
||||||
replace_rate = 10,
|
replace_rate = 10,
|
||||||
replace_what = {
|
replace_what = {
|
||||||
{"group:grass", "air", -1},
|
{"group:grass", "air", -1},
|
||||||
|
@ -20,13 +20,9 @@ mobs:register_mob("mobs_monster:skeleton", {
|
|||||||
},
|
},
|
||||||
hp_min = 10,
|
hp_min = 10,
|
||||||
hp_max = 15,
|
hp_max = 15,
|
||||||
armor = 100,
|
|
||||||
knock_back = 1,
|
|
||||||
light_damage = 1,
|
light_damage = 1,
|
||||||
lava_damage = 5,
|
lava_damage = 5,
|
||||||
damage = 1,
|
damage = 1,
|
||||||
reach = 2,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
group_attack = true,
|
group_attack = true,
|
||||||
view_range = 15,
|
view_range = 15,
|
||||||
walk_chance = 75,
|
walk_chance = 75,
|
||||||
|
@ -4,12 +4,9 @@ mobs:register_mob("mobs_monster:spider", {
|
|||||||
group_attack = true,
|
group_attack = true,
|
||||||
type = "monster",
|
type = "monster",
|
||||||
passive = false,
|
passive = false,
|
||||||
attack_type = "dogfight",
|
|
||||||
reach = 2,
|
|
||||||
damage = 2,
|
damage = 2,
|
||||||
hp_min = 15,
|
hp_min = 15,
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
armor = 100,
|
|
||||||
collisionbox = {-0.8, -0.5, -0.8, 0.8, 0, 0.8},
|
collisionbox = {-0.8, -0.5, -0.8, 0.8, 0, 0.8},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_spider.b3d",
|
mesh = "mobs_spider.b3d",
|
||||||
@ -18,14 +15,11 @@ mobs:register_mob("mobs_monster:spider", {
|
|||||||
{"mobs_spider_grey.png"},
|
{"mobs_spider_grey.png"},
|
||||||
{"mobs_spider_orange.png"},
|
{"mobs_spider_orange.png"},
|
||||||
},
|
},
|
||||||
makes_footstep_sound = false,
|
|
||||||
sounds = {
|
sounds = {
|
||||||
random = "mobs_spider",
|
random = "mobs_spider",
|
||||||
attack = "mobs_spider",
|
attack = "mobs_spider",
|
||||||
},
|
},
|
||||||
walk_velocity = 1,
|
|
||||||
run_velocity = 3,
|
run_velocity = 3,
|
||||||
jump = true,
|
|
||||||
view_range = 15,
|
view_range = 15,
|
||||||
floats = 0,
|
floats = 0,
|
||||||
drops = {
|
drops = {
|
||||||
@ -33,8 +27,6 @@ mobs:register_mob("mobs_monster:spider", {
|
|||||||
{name = "farming:string", chance = 2}
|
{name = "farming:string", chance = 2}
|
||||||
},
|
},
|
||||||
water_damage = 5,
|
water_damage = 5,
|
||||||
lava_damage = 5,
|
|
||||||
light_damage = 0,
|
|
||||||
animation = {
|
animation = {
|
||||||
speed_normal = 15,
|
speed_normal = 15,
|
||||||
speed_run = 20,
|
speed_run = 20,
|
||||||
@ -77,12 +69,9 @@ mobs:register_mob("mobs_monster:small_spider", {
|
|||||||
group_attack = true,
|
group_attack = true,
|
||||||
type = "animal",
|
type = "animal",
|
||||||
passive = false,
|
passive = false,
|
||||||
attack_type = "dogfight",
|
|
||||||
reach = 2,
|
|
||||||
damage = 1,
|
damage = 1,
|
||||||
hp_min = 5,
|
hp_min = 5,
|
||||||
hp_max = 10,
|
hp_max = 10,
|
||||||
armor = 100,
|
|
||||||
collisionbox = {-0.3, -0.15, -0.3, 0.3, 0.05, 0.3},
|
collisionbox = {-0.3, -0.15, -0.3, 0.3, 0.05, 0.3},
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "mobs_spider.b3d",
|
mesh = "mobs_spider.b3d",
|
||||||
@ -92,22 +81,17 @@ mobs:register_mob("mobs_monster:small_spider", {
|
|||||||
{"mobs_spider_orange.png"},
|
{"mobs_spider_orange.png"},
|
||||||
},
|
},
|
||||||
visual_size = {x = 0.3, y = 0.3},
|
visual_size = {x = 0.3, y = 0.3},
|
||||||
makes_footstep_sound = false,
|
|
||||||
sounds = {
|
sounds = {
|
||||||
random = "mobs_spider",
|
random = "mobs_spider",
|
||||||
attack = "mobs_spider",
|
attack = "mobs_spider",
|
||||||
},
|
},
|
||||||
walk_velocity = 1,
|
|
||||||
run_velocity = 3,
|
run_velocity = 3,
|
||||||
jump = true,
|
|
||||||
view_range = 10,
|
view_range = 10,
|
||||||
floats = 0,
|
floats = 0,
|
||||||
drops = {
|
drops = {
|
||||||
{name = "farming:string"}
|
{name = "farming:string"}
|
||||||
},
|
},
|
||||||
water_damage = 5,
|
water_damage = 5,
|
||||||
lava_damage = 5,
|
|
||||||
light_damage = 0,
|
|
||||||
animation = {
|
animation = {
|
||||||
speed_normal = 15,
|
speed_normal = 15,
|
||||||
speed_run = 20,
|
speed_run = 20,
|
||||||
|
@ -20,13 +20,8 @@ mobs:register_mob("mobs_monster:zombie", {
|
|||||||
},
|
},
|
||||||
hp_min = 15,
|
hp_min = 15,
|
||||||
hp_max = 25,
|
hp_max = 25,
|
||||||
armor = 100,
|
|
||||||
knock_back = 1,
|
|
||||||
light_damage = 1,
|
light_damage = 1,
|
||||||
lava_damage = 10,
|
|
||||||
damage = 2,
|
damage = 2,
|
||||||
reach = 2,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
group_attack = true,
|
group_attack = true,
|
||||||
view_range = 15,
|
view_range = 15,
|
||||||
walk_chance = 75,
|
walk_chance = 75,
|
||||||
|
@ -4,7 +4,7 @@ local use_cmi = minetest.global_exists("cmi")
|
|||||||
|
|
||||||
mobs = {
|
mobs = {
|
||||||
mod = "redo",
|
mod = "redo",
|
||||||
version = "20190520",
|
version = "20190630",
|
||||||
invis = minetest.global_exists("invisibility") and invisibility or {},
|
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"
|
mobs.fallback_node = minetest.registered_aliases["mapgen_dirt"] or "default:dirt"
|
||||||
|
|
||||||
local mob_class = {
|
local mob_class = {
|
||||||
stepheight = 1.1, -- was 0.6
|
attack_type = "dogfight",
|
||||||
|
stepheight = 1.1,
|
||||||
fly_in = "air",
|
fly_in = "air",
|
||||||
owner = "",
|
owner = "",
|
||||||
order = "",
|
order = "",
|
||||||
@ -97,12 +98,13 @@ local mob_class = {
|
|||||||
light_damage_min = 12,
|
light_damage_min = 12,
|
||||||
light_damage_max = 15,
|
light_damage_max = 15,
|
||||||
water_damage = 0,
|
water_damage = 0,
|
||||||
lava_damage = 0,
|
lava_damage = 5,
|
||||||
suffocation = 2,
|
suffocation = 2,
|
||||||
fall_damage = 1,
|
fall_damage = 1,
|
||||||
fall_speed = -10, -- must be lower than -2 (default: -10)
|
fall_speed = -10, -- must be lower than -2 (default: -10)
|
||||||
drops = {},
|
drops = {},
|
||||||
armor = 100,
|
armor = 100,
|
||||||
|
runaway = false,
|
||||||
sounds = {},
|
sounds = {},
|
||||||
jump = true,
|
jump = true,
|
||||||
knock_back = true,
|
knock_back = true,
|
||||||
@ -124,7 +126,7 @@ local mob_class = {
|
|||||||
child = false,
|
child = false,
|
||||||
gotten = false,
|
gotten = false,
|
||||||
health = 0,
|
health = 0,
|
||||||
reach = 3,
|
reach = 2,
|
||||||
htimer = 0,
|
htimer = 0,
|
||||||
docile_by_day = false,
|
docile_by_day = false,
|
||||||
time_of_day = 0.5,
|
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
|
and not thing.ref:is_player() then return false end
|
||||||
|
|
||||||
if thing.type == "node" then
|
if thing.type == "node" then
|
||||||
|
|
||||||
local name = minetest.get_node(thing.under).name
|
local name = minetest.get_node(thing.under).name
|
||||||
|
|
||||||
if minetest.registered_items[name]
|
if minetest.registered_items[name]
|
||||||
@ -474,16 +475,9 @@ local ray_line_of_sight = function(self, pos1, pos2)
|
|||||||
return true
|
return true
|
||||||
end
|
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)
|
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 line_of_sight(self, pos1, pos2, stepsize)
|
||||||
|
-- return ray_line_of_sight(self, pos1, pos2) -- MT 5.0
|
||||||
end
|
end
|
||||||
|
|
||||||
-- global function
|
-- global function
|
||||||
@ -593,7 +587,7 @@ function mob_class:do_stay_near()
|
|||||||
z = target.z - pos.z
|
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
|
if target.x > pos.x then
|
||||||
yaw = yaw + pi
|
yaw = yaw + pi
|
||||||
@ -665,7 +659,7 @@ end
|
|||||||
-- drop items
|
-- drop items
|
||||||
function mob_class:item_drop()
|
function mob_class:item_drop()
|
||||||
local pos = self.object:get_pos()
|
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
|
-- check for nil or no drops
|
||||||
if not self.drops or #self.drops == 0 then
|
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
|
-- 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 count_mobs = function(pos, type)
|
||||||
|
|
||||||
local total = 0
|
local total = 0
|
||||||
local objs = minetest.get_objects_inside_radius(pos, aoc_range * 2)
|
local objs = minetest.get_objects_inside_radius(pos, aoc_range * 2)
|
||||||
local ent
|
local ent
|
||||||
|
local players
|
||||||
|
|
||||||
for n = 1, #objs do
|
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
|
if ent and ent.name and ent.name == type then
|
||||||
total = total + 1
|
total = total + 1
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
players = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return total
|
return total, players
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -3450,7 +3448,12 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light,
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- get total number of this mob in area
|
-- 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
|
if num_mob >= aoc then
|
||||||
--print ("--- too many " .. name .. " in area", num_mob .. "/" .. aoc)
|
--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
|
end
|
||||||
|
|
||||||
-- only spawn away from player
|
-- 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
|
for n = 1, #objs do
|
||||||
|
|
||||||
@ -3550,18 +3553,8 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light,
|
|||||||
end
|
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
|
-- MarkBu's spawn function
|
||||||
function mobs:spawn(def)
|
function mobs:spawn(def)
|
||||||
|
|
||||||
mobs:spawn_specific(
|
mobs:spawn_specific(
|
||||||
def.name,
|
def.name,
|
||||||
def.nodes or {"group:soil", "group:stone"},
|
def.nodes or {"group:soil", "group:stone"},
|
||||||
@ -3579,13 +3572,13 @@ function mobs:spawn(def)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--[[
|
||||||
-- register arrow for shoot attack
|
-- register arrow for shoot attack
|
||||||
function mobs:register_arrow(name, def)
|
function mobs:register_arrow(name, def)
|
||||||
|
|
||||||
if not name or not def then return end -- errorcheck
|
if not name or not def then return end -- errorcheck
|
||||||
|
|
||||||
minetest.register_entity(name, {
|
minetest.register_entity(name, {
|
||||||
|
|
||||||
physical = false,
|
physical = false,
|
||||||
visual = def.visual,
|
visual = def.visual,
|
||||||
visual_size = def.visual_size,
|
visual_size = def.visual_size,
|
||||||
@ -3602,23 +3595,16 @@ function mobs:register_arrow(name, def)
|
|||||||
rotate = def.rotate,
|
rotate = def.rotate,
|
||||||
automatic_face_movement_dir = def.rotate
|
automatic_face_movement_dir = def.rotate
|
||||||
and (def.rotate - (pi / 180)) or false,
|
and (def.rotate - (pi / 180)) or false,
|
||||||
|
|
||||||
on_activate = def.on_activate,
|
on_activate = def.on_activate,
|
||||||
|
|
||||||
on_punch = def.on_punch or function(self, hitter, tflp, tool_capabilities, dir)
|
on_punch = def.on_punch or function(self, hitter, tflp, tool_capabilities, dir)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
on_step = def.on_step or function(self, dtime)
|
on_step = def.on_step or function(self, dtime)
|
||||||
|
|
||||||
self.timer = self.timer + 1
|
self.timer = self.timer + 1
|
||||||
|
|
||||||
local pos = self.object:get_pos()
|
local pos = self.object:get_pos()
|
||||||
|
|
||||||
if self.switch == 0
|
if self.switch == 0
|
||||||
or self.timer > 150 then
|
or self.timer > 150 then
|
||||||
|
self.object:remove()
|
||||||
self.object:remove() ; -- print ("removed arrow")
|
|
||||||
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -3644,20 +3630,13 @@ function mobs:register_arrow(name, def)
|
|||||||
local node = node_ok(pos).name
|
local node = node_ok(pos).name
|
||||||
|
|
||||||
if minetest.registered_nodes[node].walkable then
|
if minetest.registered_nodes[node].walkable then
|
||||||
|
|
||||||
self:hit_node(pos, node)
|
self:hit_node(pos, node)
|
||||||
|
|
||||||
if self.drop == true then
|
if self.drop == true then
|
||||||
|
|
||||||
pos.y = pos.y + 1
|
pos.y = pos.y + 1
|
||||||
|
|
||||||
self.lastpos = (self.lastpos or pos)
|
self.lastpos = (self.lastpos or pos)
|
||||||
|
|
||||||
minetest.add_item(self.lastpos, self.object:get_luaentity().name)
|
minetest.add_item(self.lastpos, self.object:get_luaentity().name)
|
||||||
end
|
end
|
||||||
|
self.object:remove()
|
||||||
self.object:remove() ; -- print ("hit node")
|
|
||||||
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -3665,12 +3644,10 @@ function mobs:register_arrow(name, def)
|
|||||||
if self.hit_player or self.hit_mob then
|
if self.hit_player or self.hit_mob then
|
||||||
|
|
||||||
for _,player in pairs(minetest.get_objects_inside_radius(pos, 1.0)) do
|
for _,player in pairs(minetest.get_objects_inside_radius(pos, 1.0)) do
|
||||||
|
|
||||||
if self.hit_player
|
if self.hit_player
|
||||||
and player:is_player() then
|
and player:is_player() then
|
||||||
|
|
||||||
self:hit_player(player)
|
self:hit_player(player)
|
||||||
self.object:remove() ; -- print ("hit player")
|
self.object:remove()
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -3681,16 +3658,12 @@ function mobs:register_arrow(name, def)
|
|||||||
and entity._cmi_is_mob == true
|
and entity._cmi_is_mob == true
|
||||||
and tostring(player) ~= self.owner_id
|
and tostring(player) ~= self.owner_id
|
||||||
and entity.name ~= self.object:get_luaentity().name then
|
and entity.name ~= self.object:get_luaentity().name then
|
||||||
|
|
||||||
self:hit_mob(player)
|
self:hit_mob(player)
|
||||||
|
self.object:remove()
|
||||||
self.object:remove() ; --print ("hit mob")
|
|
||||||
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
self.lastpos = pos
|
self.lastpos = pos
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
@ -3699,24 +3672,19 @@ end
|
|||||||
|
|
||||||
-- compatibility function
|
-- compatibility function
|
||||||
function mobs:explosion(pos, radius)
|
function mobs:explosion(pos, radius)
|
||||||
|
|
||||||
local self = {sounds = {explode = "tnt_explode"}}
|
local self = {sounds = {explode = "tnt_explode"}}
|
||||||
|
|
||||||
mobs:boom(self, pos, radius)
|
mobs:boom(self, pos, radius)
|
||||||
end
|
end]]
|
||||||
|
|
||||||
|
|
||||||
-- no damage to nodes explosion
|
-- no damage to nodes explosion
|
||||||
function mobs:safe_boom(self, pos, radius)
|
function mobs:safe_boom(self, pos, radius)
|
||||||
|
|
||||||
minetest.sound_play(self.sounds and self.sounds.explode or "tnt_explode", {
|
minetest.sound_play(self.sounds and self.sounds.explode or "tnt_explode", {
|
||||||
pos = pos,
|
pos = pos,
|
||||||
gain = 1.0,
|
gain = 1.0,
|
||||||
max_hear_distance = self.sounds and self.sounds.distance or 32
|
max_hear_distance = self.sounds and self.sounds.distance or 32
|
||||||
})
|
})
|
||||||
|
|
||||||
entity_physics(pos, radius)
|
entity_physics(pos, radius)
|
||||||
|
|
||||||
-- effect(pos, 32, "item_smoke.png", radius * 3, radius * 5, radius, 1, 0)
|
-- effect(pos, 32, "item_smoke.png", radius * 3, radius * 5, radius, 1, 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -3727,7 +3695,6 @@ function mobs:boom(self, pos, radius)
|
|||||||
if mobs_griefing
|
if mobs_griefing
|
||||||
and minetest.get_modpath("tnt") and tnt and tnt.boom
|
and minetest.get_modpath("tnt") and tnt and tnt.boom
|
||||||
and not minetest.is_protected(pos, "") then
|
and not minetest.is_protected(pos, "") then
|
||||||
|
|
||||||
tnt.boom(pos, {
|
tnt.boom(pos, {
|
||||||
radius = radius,
|
radius = radius,
|
||||||
damage_radius = radius,
|
damage_radius = radius,
|
||||||
@ -3854,16 +3821,13 @@ function mobs:register_egg(mob, desc, background, addegg, no_creative)
|
|||||||
|
|
||||||
-- register old stackable mob egg
|
-- register old stackable mob egg
|
||||||
minetest.register_craftitem(mob, {
|
minetest.register_craftitem(mob, {
|
||||||
|
|
||||||
description = desc,
|
description = desc,
|
||||||
inventory_image = invimg,
|
inventory_image = invimg,
|
||||||
groups = grp,
|
groups = grp,
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
on_use = throw_spawn_egg,
|
on_use = throw_spawn_egg,
|
||||||
on_place = function(itemstack, placer, pointed_thing)
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
|
|
||||||
local pos = pointed_thing.above
|
local pos = pointed_thing.above
|
||||||
|
|
||||||
-- am I clicking on something with existing on_rightclick function?
|
-- am I clicking on something with existing on_rightclick function?
|
||||||
local under = minetest.get_node(pointed_thing.under)
|
local under = minetest.get_node(pointed_thing.under)
|
||||||
local def = minetest.registered_nodes[under.name]
|
local def = minetest.registered_nodes[under.name]
|
||||||
@ -3916,7 +3880,6 @@ function mobs:force_capture(self, clicker)
|
|||||||
end
|
end
|
||||||
|
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
|
|
||||||
self:mob_sound("default_place_node_hard")
|
self:mob_sound("default_place_node_hard")
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -3952,18 +3915,14 @@ function mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso,
|
|||||||
-- is mob tamed?
|
-- is mob tamed?
|
||||||
if self.tamed == false
|
if self.tamed == false
|
||||||
and force_take == false then
|
and force_take == false then
|
||||||
|
|
||||||
minetest.chat_send_player(name, "Not tamed!")
|
minetest.chat_send_player(name, "Not tamed!")
|
||||||
|
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
-- cannot pick up if not owner
|
-- cannot pick up if not owner
|
||||||
if self.owner ~= name
|
if self.owner ~= name
|
||||||
and force_take == false then
|
and force_take == false then
|
||||||
|
|
||||||
minetest.chat_send_player(name, self.owner.." is owner!")
|
minetest.chat_send_player(name, self.owner.." is owner!")
|
||||||
|
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -4077,17 +4036,15 @@ function mobs:protect(self, clicker)
|
|||||||
clicker:set_wielded_item(tool)
|
clicker:set_wielded_item(tool)
|
||||||
end
|
end
|
||||||
|
|
||||||
self.protected = true
|
self.protected = true
|
||||||
|
|
||||||
local pos = self.object:get_pos()
|
local pos = self.object:get_pos()
|
||||||
pos.y = pos.y + self.collisionbox[2] + 0.5
|
pos.y = pos.y + self.collisionbox[2] + 0.5
|
||||||
|
|
||||||
effect(self.object:get_pos(), 25, "mobs_protect_particle.png", 0.5, 4, 2, 15)
|
effect(self.object:get_pos(), 25, "mobs_protect_particle.png", 0.5, 4, 2, 15)
|
||||||
|
|
||||||
self:mob_sound("mobs_spell")
|
self:mob_sound("mobs_spell")
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
local mob_obj = {}
|
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
|
if not mobs.is_creative(clicker:get_player_name()) then
|
||||||
|
|
||||||
local item = clicker:get_wielded_item()
|
local item = clicker:get_wielded_item()
|
||||||
|
|
||||||
item:take_item()
|
item:take_item()
|
||||||
|
|
||||||
clicker:set_wielded_item(item)
|
clicker:set_wielded_item(item)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -4240,26 +4195,3 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
mob_sta[name] = nil
|
mob_sta[name] = nil
|
||||||
end
|
end
|
||||||
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
|
|
||||||
|
@ -3,20 +3,20 @@
|
|||||||
minetest.register_craftitem("mobs:nametag", {
|
minetest.register_craftitem("mobs:nametag", {
|
||||||
description = "Name Tag",
|
description = "Name Tag",
|
||||||
inventory_image = "mobs_nametag.png",
|
inventory_image = "mobs_nametag.png",
|
||||||
groups = {flammable = 2},
|
groups = {flammable = 2}
|
||||||
})
|
})
|
||||||
|
|
||||||
core.register_craft({
|
core.register_craft({
|
||||||
type = "shapeless",
|
type = "shapeless",
|
||||||
output = "mobs:nametag",
|
output = "mobs:nametag",
|
||||||
recipe = {"default:paper", "dye:black", "farming:string"},
|
recipe = {"default:paper", "dye:black", "farming:string"}
|
||||||
})
|
})
|
||||||
|
|
||||||
-- leather
|
-- leather
|
||||||
minetest.register_craftitem("mobs:leather", {
|
minetest.register_craftitem("mobs:leather", {
|
||||||
description = "Leather",
|
description = "Leather",
|
||||||
inventory_image = "mobs_leather.png",
|
inventory_image = "mobs_leather.png",
|
||||||
groups = {flammable = 2},
|
groups = {flammable = 2}
|
||||||
})
|
})
|
||||||
|
|
||||||
-- raw meat
|
-- raw meat
|
||||||
@ -24,7 +24,7 @@ minetest.register_craftitem("mobs:meat_raw", {
|
|||||||
description = "Raw Meat",
|
description = "Raw Meat",
|
||||||
inventory_image = "mobs_meat_raw.png",
|
inventory_image = "mobs_meat_raw.png",
|
||||||
on_use = minetest.item_eat(3),
|
on_use = minetest.item_eat(3),
|
||||||
groups = {food_meat_raw = 1, flammable = 2},
|
groups = {food_meat_raw = 1, flammable = 2, food = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
-- cooked meat
|
-- cooked meat
|
||||||
@ -32,14 +32,14 @@ minetest.register_craftitem("mobs:meat", {
|
|||||||
description = "Cooked Meat",
|
description = "Cooked Meat",
|
||||||
inventory_image = "mobs_meat.png",
|
inventory_image = "mobs_meat.png",
|
||||||
on_use = minetest.item_eat(8),
|
on_use = minetest.item_eat(8),
|
||||||
groups = {food_meat = 1, flammable = 2},
|
groups = {food_meat = 1, flammable = 2, food = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "mobs:meat",
|
output = "mobs:meat",
|
||||||
recipe = "mobs:meat_raw",
|
recipe = "mobs:meat_raw",
|
||||||
cooktime = 5,
|
cooktime = 5
|
||||||
})
|
})
|
||||||
|
|
||||||
-- raw pork
|
-- raw pork
|
||||||
@ -47,7 +47,7 @@ minetest.register_craftitem("mobs:pork_raw", {
|
|||||||
description = "Raw Pork",
|
description = "Raw Pork",
|
||||||
inventory_image = "mobs_pork_raw.png",
|
inventory_image = "mobs_pork_raw.png",
|
||||||
on_use = minetest.item_eat(3),
|
on_use = minetest.item_eat(3),
|
||||||
groups = {food_meat_raw = 1, flammable = 2},
|
groups = {food_meat_raw = 1, flammable = 2, food = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
-- cooked pork
|
-- cooked pork
|
||||||
@ -55,14 +55,14 @@ minetest.register_craftitem("mobs:pork", {
|
|||||||
description = "Cooked Pork",
|
description = "Cooked Pork",
|
||||||
inventory_image = "mobs_pork_cooked.png",
|
inventory_image = "mobs_pork_cooked.png",
|
||||||
on_use = minetest.item_eat(8),
|
on_use = minetest.item_eat(8),
|
||||||
groups = {food_meat = 1, flammable = 2},
|
groups = {food_meat = 1, flammable = 2, food = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "mobs:pork",
|
output = "mobs:pork",
|
||||||
recipe = "mobs:pork_raw",
|
recipe = "mobs:pork_raw",
|
||||||
cooktime = 5,
|
cooktime = 5
|
||||||
})
|
})
|
||||||
|
|
||||||
-- raw rabbit
|
-- raw rabbit
|
||||||
@ -70,7 +70,7 @@ minetest.register_craftitem("mobs:rabbit_raw", {
|
|||||||
description = "Raw Rabbit",
|
description = "Raw Rabbit",
|
||||||
inventory_image = "mobs_rabbit_raw.png",
|
inventory_image = "mobs_rabbit_raw.png",
|
||||||
on_use = minetest.item_eat(3),
|
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
|
-- cooked rabbit
|
||||||
@ -78,21 +78,21 @@ minetest.register_craftitem("mobs:rabbit_cooked", {
|
|||||||
description = "Cooked Rabbit",
|
description = "Cooked Rabbit",
|
||||||
inventory_image = "mobs_rabbit_cooked.png",
|
inventory_image = "mobs_rabbit_cooked.png",
|
||||||
on_use = minetest.item_eat(5),
|
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({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
output = "mobs:rabbit_cooked",
|
output = "mobs:rabbit_cooked",
|
||||||
recipe = "mobs:rabbit_raw",
|
recipe = "mobs:rabbit_raw",
|
||||||
cooktime = 5,
|
cooktime = 5
|
||||||
})
|
})
|
||||||
|
|
||||||
-- rabbit hide
|
-- rabbit hide
|
||||||
minetest.register_craftitem("mobs:rabbit_hide", {
|
minetest.register_craftitem("mobs:rabbit_hide", {
|
||||||
description = "Rabbit Hide",
|
description = "Rabbit Hide",
|
||||||
inventory_image = "mobs_rabbit_hide.png",
|
inventory_image = "mobs_rabbit_hide.png",
|
||||||
groups = {flammable = 2},
|
groups = {flammable = 2}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
@ -145,13 +145,13 @@ minetest.register_craftitem("mobs:chicken_egg_fried", {
|
|||||||
description = "Fried Egg",
|
description = "Fried Egg",
|
||||||
inventory_image = "mobs_chicken_egg_fried.png",
|
inventory_image = "mobs_chicken_egg_fried.png",
|
||||||
on_use = minetest.item_eat(2),
|
on_use = minetest.item_eat(2),
|
||||||
groups = {flammable = 2},
|
groups = {flammable = 2, food = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
recipe = "mobs:chicken_egg",
|
recipe = "mobs:chicken_egg",
|
||||||
output = "mobs:chicken_egg_fried",
|
output = "mobs:chicken_egg_fried"
|
||||||
})
|
})
|
||||||
|
|
||||||
-- raw chicken
|
-- raw chicken
|
||||||
@ -159,7 +159,7 @@ minetest.register_craftitem("mobs:chicken_raw", {
|
|||||||
description = "Raw Chicken",
|
description = "Raw Chicken",
|
||||||
inventory_image = "mobs_chicken_raw.png",
|
inventory_image = "mobs_chicken_raw.png",
|
||||||
on_use = minetest.item_eat(2),
|
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
|
-- cooked chicken
|
||||||
@ -167,13 +167,13 @@ minetest.register_craftitem("mobs:chicken_cooked", {
|
|||||||
description = "Cooked Chicken",
|
description = "Cooked Chicken",
|
||||||
inventory_image = "mobs_chicken_cooked.png",
|
inventory_image = "mobs_chicken_cooked.png",
|
||||||
on_use = minetest.item_eat(6),
|
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({
|
minetest.register_craft({
|
||||||
type = "cooking",
|
type = "cooking",
|
||||||
recipe = "mobs:chicken_raw",
|
recipe = "mobs:chicken_raw",
|
||||||
output = "mobs:chicken_cooked",
|
output = "mobs:chicken_cooked"
|
||||||
})
|
})
|
||||||
|
|
||||||
-- bucket of milk
|
-- bucket of milk
|
||||||
@ -182,7 +182,7 @@ minetest.register_craftitem("mobs:bucket_milk", {
|
|||||||
inventory_image = "mobs_bucket_milk.png",
|
inventory_image = "mobs_bucket_milk.png",
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
on_use = minetest.item_eat(8, "bucket:bucket_empty"),
|
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
|
-- cheese wedge
|
||||||
@ -190,7 +190,7 @@ minetest.register_craftitem("mobs:cheese", {
|
|||||||
description = "Cheese",
|
description = "Cheese",
|
||||||
inventory_image = "mobs_cheese.png",
|
inventory_image = "mobs_cheese.png",
|
||||||
on_use = minetest.item_eat(4),
|
on_use = minetest.item_eat(4),
|
||||||
groups = {food_cheese = 1, flammable = 2},
|
groups = {food_cheese = 1, flammable = 2, food = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
@ -215,14 +215,14 @@ minetest.register_craft({
|
|||||||
recipe = {
|
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"},
|
||||||
{"mobs:cheese", "mobs:cheese", "mobs:cheese"},
|
{"mobs:cheese", "mobs:cheese", "mobs:cheese"}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "mobs:cheese 9",
|
output = "mobs:cheese 9",
|
||||||
recipe = {
|
recipe = {
|
||||||
{"mobs:cheeseblock"},
|
{"mobs:cheeseblock"}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -231,6 +231,7 @@ minetest.register_craftitem("mobs:rotten_flesh", {
|
|||||||
description = "Rotten Flesh",
|
description = "Rotten Flesh",
|
||||||
inventory_image = "mobs_rotten_flesh.png",
|
inventory_image = "mobs_rotten_flesh.png",
|
||||||
on_use = minetest.item_eat(1),
|
on_use = minetest.item_eat(1),
|
||||||
|
groups = {flammable = 2, food = 1}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_alias("mobs_monster:rotten_flesh", "mobs:rotten_flesh")
|
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", {
|
minetest.register_tool("mobs:shears", {
|
||||||
description = "Steel Shears (right-click to shear)",
|
description = "Steel Shears (right-click to shear)",
|
||||||
inventory_image = "mobs_shears.png",
|
inventory_image = "mobs_shears.png",
|
||||||
groups = {flammable = 2},
|
groups = {flammable = 2}
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "mobs:shears",
|
output = "mobs:shears",
|
||||||
recipe = {
|
recipe = {
|
||||||
{"", "default:steel_ingot", ""},
|
{"", "default:steel_ingot", ""},
|
||||||
{"", "group:stick", "default:steel_ingot"},
|
{"", "group:stick", "default:steel_ingot"}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -258,11 +259,12 @@ minetest.register_node("mobs:cobweb", {
|
|||||||
drawtype = "plantlike",
|
drawtype = "plantlike",
|
||||||
visual_scale = 1.2,
|
visual_scale = 1.2,
|
||||||
tiles = {"mobs_cobweb.png"},
|
tiles = {"mobs_cobweb.png"},
|
||||||
|
inventory_image = "mobs_cobweb.png",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
walkable = false,
|
walkable = false,
|
||||||
groups = {snappy = 1, disable_jump = 1, speed = -30},
|
groups = {snappy = 1, disable_jump = 1, speed = -30},
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
sounds = default.node_sound_leaves_defaults()
|
||||||
})
|
})
|
||||||
|
|
||||||
-- protection item
|
-- protection item
|
||||||
@ -277,7 +279,7 @@ minetest.register_craft({
|
|||||||
recipe = {
|
recipe = {
|
||||||
{"default:stone", "default:stone", "default:stone"},
|
{"default:stone", "default:stone", "default:stone"},
|
||||||
{"default:stone", "default:goldblock", "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({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "mobs:nametag",
|
recipe = "mobs:nametag",
|
||||||
burntime = 3,
|
burntime = 3
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "mobs:leather",
|
recipe = "mobs:leather",
|
||||||
burntime = 4,
|
burntime = 4
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
recipe = "mobs:rabbit_hide",
|
recipe = "mobs:rabbit_hide",
|
||||||
burntime = 2,
|
burntime = 2
|
||||||
})
|
})
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
default
|
default
|
||||||
wool
|
wool
|
||||||
|
farming?
|
||||||
|
@ -9,7 +9,7 @@ for node, def in pairs(minetest.registered_nodes) do
|
|||||||
(def.tiles and type(def.tiles[1]) == "string") and
|
(def.tiles and type(def.tiles[1]) == "string") and
|
||||||
not def.on_rightclick and
|
not def.on_rightclick and
|
||||||
not def.on_blast 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_in_creative_inventory == 1) and
|
||||||
not (def.groups.not_cuttable == 1) and
|
not (def.groups.not_cuttable == 1) and
|
||||||
not def.groups.colorglass and
|
not def.groups.colorglass and
|
||||||
@ -357,13 +357,13 @@ for i=1, #nodes do
|
|||||||
end
|
end
|
||||||
|
|
||||||
for _, d in pairs(workbench.defs) do
|
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].."_coal", "stairs:"..d[1].."_default_coalblock")
|
||||||
minetest.register_alias("stairs:"..d[1].."_straw", "stairs:"..d[1].."_farming_straw")
|
minetest.register_alias("stairs:"..d[1].."_lapis_block", "stairs:"..d[1].."_default_lapisblock")
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, e in pairs(stairs_aliases) do
|
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].."_coal", "stairs:"..e[2].."_default_coalblock")
|
||||||
minetest.register_alias("stairs:"..e[1].."_straw", "stairs:"..e[2].."_farming_straw")
|
minetest.register_alias("stairs:"..e[1].."_lapis_block", "stairs:"..e[2].."_default_lapisblock")
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_alias("stairs:stair_steel", "stairs:stair_default_steelblock")
|
minetest.register_alias("stairs:stair_steel", "stairs:stair_default_steelblock")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user