Add shears
parent
fac77e01f3
commit
fd914ba75d
|
@ -227,6 +227,14 @@ minetest.register_craft({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = 'default:shears',
|
||||||
|
recipe = {
|
||||||
|
{'', 'default:iron_ingot'},
|
||||||
|
{'default:iron_ingot', ''},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'default:rail 16',
|
output = 'default:rail 16',
|
||||||
recipe = {
|
recipe = {
|
||||||
|
|
|
@ -297,6 +297,18 @@ minetest.register_abm({
|
||||||
-- Drop stuff other than the node itself
|
-- Drop stuff other than the node itself
|
||||||
itemstacks = minetest.get_node_drops(n0.name)
|
itemstacks = minetest.get_node_drops(n0.name)
|
||||||
for _, itemname in ipairs(itemstacks) do
|
for _, itemname in ipairs(itemstacks) do
|
||||||
|
if n0.name == "default:leaves" then
|
||||||
|
if math.random(1, 30) == 1 then
|
||||||
|
itemname = "default:apple"
|
||||||
|
end
|
||||||
|
if math.random(1, 20) == 1 then
|
||||||
|
itemname = "default:sapling"
|
||||||
|
end
|
||||||
|
elseif n0.name == "default:jungleleaves" then
|
||||||
|
if math.random(1, 20) == 1 then
|
||||||
|
itemname = "default:junglesapling"
|
||||||
|
end
|
||||||
|
end
|
||||||
if minetest.get_item_group(n0.name, "leafdecay_drop") ~= 0 or
|
if minetest.get_item_group(n0.name, "leafdecay_drop") ~= 0 or
|
||||||
itemname ~= n0.name then
|
itemname ~= n0.name then
|
||||||
local p_drop = {
|
local p_drop = {
|
||||||
|
@ -305,9 +317,11 @@ minetest.register_abm({
|
||||||
z = p0.z - 0.5 + math.random(),
|
z = p0.z - 0.5 + math.random(),
|
||||||
}
|
}
|
||||||
local obj = minetest.env:add_item(p_drop, itemname)
|
local obj = minetest.env:add_item(p_drop, itemname)
|
||||||
|
if obj then
|
||||||
obj:get_luaentity().collect = true
|
obj:get_luaentity().collect = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
-- Remove node
|
-- Remove node
|
||||||
minetest.env:remove_node(p0)
|
minetest.env:remove_node(p0)
|
||||||
nodeupdate(p0)
|
nodeupdate(p0)
|
||||||
|
|
|
@ -178,14 +178,40 @@ minetest.register_node("default:jungleleaves", {
|
||||||
tiles = {"default_jungleleaves.png"},
|
tiles = {"default_jungleleaves.png"},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
groups = {snappy=default.dig.leaves, leafdecay=3, flammable=2, leaves=1},
|
groups = {snappy=default.dig.leaves, leafdecay=3, flammable=2, leaves=1},
|
||||||
drop = {
|
drop = "",
|
||||||
max_items = 1,
|
|
||||||
items = {
|
|
||||||
{items = {'default:junglesapling'},rarity = 20},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||||
|
local nn = "default:jungleleaves"
|
||||||
|
if math.random(1, 20) == 1 then
|
||||||
|
nn = "default:junglesapling"
|
||||||
|
end
|
||||||
|
if minetest.setting_getbool("creative_mode") then
|
||||||
|
local inv = digger:get_inventory()
|
||||||
|
if not inv:contains_item("main", ItemStack(nn)) then
|
||||||
|
inv:add_item("main", ItemStack(nn))
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if digger:get_wielded_item():get_name() == "default:shears" or nn ~= "default:jungleleaves" then
|
||||||
|
local obj = minetest.env:add_item(pos, nn)
|
||||||
|
if obj ~= nil then
|
||||||
|
obj:get_luaentity().collect = true
|
||||||
|
local x = math.random(1, 5)
|
||||||
|
if math.random(1,2) == 1 then
|
||||||
|
x = -x
|
||||||
|
end
|
||||||
|
local z = math.random(1, 5)
|
||||||
|
if math.random(1,2) == 1 then
|
||||||
|
z = -z
|
||||||
|
end
|
||||||
|
obj:setvelocity({x=1/x, y=obj:getvelocity().y, z=1/z})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
after_place_node = function(pos, placer, itemstack)
|
||||||
|
minetest.env:set_node(pos, {name="default:jungleleaves", param2=1})
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("default:junglesapling", {
|
minetest.register_node("default:junglesapling", {
|
||||||
|
@ -237,15 +263,43 @@ minetest.register_node("default:leaves", {
|
||||||
tiles = {"default_leaves.png"},
|
tiles = {"default_leaves.png"},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
groups = {snappy=default.dig.leaves, leafdecay=3, flammable=2, leaves=1},
|
groups = {snappy=default.dig.leaves, leafdecay=3, flammable=2, leaves=1},
|
||||||
drop = {
|
drop = "",
|
||||||
max_items = 1,
|
|
||||||
items = {
|
|
||||||
{items = {'default:sapling'},rarity = 20},
|
|
||||||
{items = {'default:apple'},rarity = 30},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||||
|
local nn = "default:leaves"
|
||||||
|
if math.random(1, 30) == 1 then
|
||||||
|
nn = "default:apple"
|
||||||
|
end
|
||||||
|
if math.random(1, 20) == 1 then
|
||||||
|
nn = "default:sapling"
|
||||||
|
end
|
||||||
|
if minetest.setting_getbool("creative_mode") then
|
||||||
|
local inv = digger:get_inventory()
|
||||||
|
if not inv:contains_item("main", ItemStack(nn)) then
|
||||||
|
inv:add_item("main", ItemStack(nn))
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if digger:get_wielded_item():get_name() == "default:shears" or nn ~= "default:leaves" then
|
||||||
|
local obj = minetest.env:add_item(pos, nn)
|
||||||
|
if obj ~= nil then
|
||||||
|
obj:get_luaentity().collect = true
|
||||||
|
local x = math.random(1, 5)
|
||||||
|
if math.random(1,2) == 1 then
|
||||||
|
x = -x
|
||||||
|
end
|
||||||
|
local z = math.random(1, 5)
|
||||||
|
if math.random(1,2) == 1 then
|
||||||
|
z = -z
|
||||||
|
end
|
||||||
|
obj:setvelocity({x=1/x, y=obj:getvelocity().y, z=1/z})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
after_place_node = function(pos, placer, itemstack)
|
||||||
|
minetest.env:set_node(pos, {name="default:leaves", param2=1})
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("default:cactus", {
|
minetest.register_node("default:cactus", {
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 407 B |
|
@ -463,3 +463,21 @@ minetest.register_tool("default:sword_diamond", {
|
||||||
damage_groups = {fleshy=8},
|
damage_groups = {fleshy=8},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Shears
|
||||||
|
--
|
||||||
|
minetest.register_tool("default:shears", {
|
||||||
|
description = "Shears",
|
||||||
|
inventory_image = "default_shears.png",
|
||||||
|
tool_capabilities = {
|
||||||
|
groupcaps = get_groupcaps(0, "snappy", {
|
||||||
|
times = {
|
||||||
|
[default.dig.leaves] = 0.05,
|
||||||
|
[default.dig.wool] = 0.25,
|
||||||
|
}, uses=238}
|
||||||
|
),
|
||||||
|
full_punch_interval = 1,
|
||||||
|
damage_groups = {fleshy=1},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
Loading…
Reference in New Issue