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({
|
||||
output = 'default:rail 16',
|
||||
recipe = {
|
||||
|
|
|
@ -297,6 +297,18 @@ minetest.register_abm({
|
|||
-- Drop stuff other than the node itself
|
||||
itemstacks = minetest.get_node_drops(n0.name)
|
||||
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
|
||||
itemname ~= n0.name then
|
||||
local p_drop = {
|
||||
|
@ -305,7 +317,9 @@ minetest.register_abm({
|
|||
z = p0.z - 0.5 + math.random(),
|
||||
}
|
||||
local obj = minetest.env:add_item(p_drop, itemname)
|
||||
obj:get_luaentity().collect = true
|
||||
if obj then
|
||||
obj:get_luaentity().collect = true
|
||||
end
|
||||
end
|
||||
end
|
||||
-- Remove node
|
||||
|
|
|
@ -178,14 +178,40 @@ minetest.register_node("default:jungleleaves", {
|
|||
tiles = {"default_jungleleaves.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy=default.dig.leaves, leafdecay=3, flammable=2, leaves=1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {'default:junglesapling'},rarity = 20},
|
||||
}
|
||||
},
|
||||
drop = "",
|
||||
stack_max = 64,
|
||||
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", {
|
||||
|
@ -237,15 +263,43 @@ minetest.register_node("default:leaves", {
|
|||
tiles = {"default_leaves.png"},
|
||||
paramtype = "light",
|
||||
groups = {snappy=default.dig.leaves, leafdecay=3, flammable=2, leaves=1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {'default:sapling'},rarity = 20},
|
||||
{items = {'default:apple'},rarity = 30},
|
||||
}
|
||||
},
|
||||
drop = "",
|
||||
stack_max = 64,
|
||||
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", {
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 407 B |
|
@ -463,3 +463,21 @@ minetest.register_tool("default:sword_diamond", {
|
|||
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