mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-16 16:11:06 +01:00
Sweetberry, nethervines: Fix placing in protected area
This commit is contained in:
parent
17f789550d
commit
34a558ced9
2 changed files with 30 additions and 6 deletions
|
@ -116,14 +116,20 @@ minetest.register_node("mcl_crimson:twisting_vines", {
|
||||||
fixed = { -3/16, -0.5, -3/16, 3/16, 0.5, 3/16 },
|
fixed = { -3/16, -0.5, -3/16, 3/16, 0.5, 3/16 },
|
||||||
},
|
},
|
||||||
node_placement_prediction = "",
|
node_placement_prediction = "",
|
||||||
on_rightclick = function(pos, node, pointed_thing, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
if pointed_thing:get_wielded_item():get_name() == "mcl_crimson:twisting_vines" then
|
local pn = clicker:get_player_name()
|
||||||
|
if clicker:is_player() and minetest.is_protected(vector.offset(pos,0,1,0), pn) then
|
||||||
|
minetest.record_protection_violation(vector.offset(pos,0,1,0), pn)
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
|
if clicker:get_wielded_item():get_name() == "mcl_crimson:twisting_vines" then
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
grow_vines(pos, 1, "mcl_crimson:twisting_vines")
|
grow_vines(pos, 1, "mcl_crimson:twisting_vines")
|
||||||
elseif pointed_thing:get_wielded_item():get_name() == "mcl_dye:white" then
|
elseif clicker:get_wielded_item():get_name() == "mcl_dye:white" then
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
grow_vines(pos, math.random(1, 3),"mcl_crimson:twisting_vines")
|
grow_vines(pos, math.random(1, 3),"mcl_crimson:twisting_vines")
|
||||||
end
|
end
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
drop = {
|
drop = {
|
||||||
max_items = 1,
|
max_items = 1,
|
||||||
|
@ -162,14 +168,20 @@ minetest.register_node("mcl_crimson:weeping_vines", {
|
||||||
fixed = { -3/16, -0.5, -3/16, 3/16, 0.5, 3/16 },
|
fixed = { -3/16, -0.5, -3/16, 3/16, 0.5, 3/16 },
|
||||||
},
|
},
|
||||||
node_placement_prediction = "",
|
node_placement_prediction = "",
|
||||||
on_rightclick = function(pos, node, pointed_thing, itemstack)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
if pointed_thing:get_wielded_item():get_name() == "mcl_crimson:weeping_vines" then
|
local pn = clicker:get_player_name()
|
||||||
|
if clicker:is_player() and minetest.is_protected(vector.offset(pos,0,1,0), pn) then
|
||||||
|
minetest.record_protection_violation(vector.offset(pos,0,1,0), pn)
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
|
if clicker:get_wielded_item():get_name() == "mcl_crimson:weeping_vines" then
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
grow_vines(pos, 1, "mcl_crimson:weeping_vines", -1)
|
grow_vines(pos, 1, "mcl_crimson:weeping_vines", -1)
|
||||||
elseif pointed_thing:get_wielded_item():get_name() == "mcl_dye:white" then
|
elseif clicker:get_wielded_item():get_name() == "mcl_dye:white" then
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
grow_vines(pos, math.random(1, 3),"mcl_crimson:weeping_vines", -1)
|
grow_vines(pos, math.random(1, 3),"mcl_crimson:weeping_vines", -1)
|
||||||
end
|
end
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
drop = {
|
drop = {
|
||||||
max_items = 1,
|
max_items = 1,
|
||||||
|
|
|
@ -36,8 +36,14 @@ for i=0, 3 do
|
||||||
_mcl_blast_resistance = 0,
|
_mcl_blast_resistance = 0,
|
||||||
_mcl_hardness = 0,
|
_mcl_hardness = 0,
|
||||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
|
local pn = clicker:get_player_name()
|
||||||
|
if clicker:is_player() and minetest.is_protected(pos, pn) then
|
||||||
|
minetest.record_protection_violation(pos, pn)
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
if mcl_dye and clicker:get_wielded_item():get_name() == "mcl_dye:white" then
|
if mcl_dye and clicker:get_wielded_item():get_name() == "mcl_dye:white" then
|
||||||
mcl_dye.apply_bone_meal({under=pos},clicker)
|
mcl_dye.apply_bone_meal({under=pos},clicker)
|
||||||
|
itemstack:take_item()
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local stage
|
local stage
|
||||||
|
@ -52,6 +58,7 @@ for i=0, 3 do
|
||||||
end
|
end
|
||||||
minetest.swap_node(pos,{name = "mcl_farming:sweet_berry_bush_" .. stage - 1 })
|
minetest.swap_node(pos,{name = "mcl_farming:sweet_berry_bush_" .. stage - 1 })
|
||||||
end
|
end
|
||||||
|
return itemstack
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
minetest.register_alias("mcl_sweet_berry:sweet_berry_bush_" .. i, node_name)
|
minetest.register_alias("mcl_sweet_berry:sweet_berry_bush_" .. i, node_name)
|
||||||
|
@ -64,6 +71,11 @@ minetest.register_craftitem("mcl_farming:sweet_berry", {
|
||||||
groups = { food = 2, eatable = 1, compostability=30 },
|
groups = { food = 2, eatable = 1, compostability=30 },
|
||||||
on_secondary_use = minetest.item_eat(1),
|
on_secondary_use = minetest.item_eat(1),
|
||||||
on_place = function(itemstack, placer, pointed_thing)
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
|
local pn = placer:get_player_name()
|
||||||
|
if placer:is_player() and minetest.is_protected(pointed_thing.above, pn) then
|
||||||
|
minetest.record_protection_violation(pointed_thing.above, pn)
|
||||||
|
return itemstack
|
||||||
|
end
|
||||||
if pointed_thing.type == "node" and table.indexof(planton,minetest.get_node(pointed_thing.under).name) ~= -1 and minetest.get_node(pointed_thing.above).name == "air" then
|
if pointed_thing.type == "node" and table.indexof(planton,minetest.get_node(pointed_thing.under).name) ~= -1 and minetest.get_node(pointed_thing.above).name == "air" then
|
||||||
minetest.set_node(pointed_thing.above,{name="mcl_farming:sweet_berry_bush_0"})
|
minetest.set_node(pointed_thing.above,{name="mcl_farming:sweet_berry_bush_0"})
|
||||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||||
|
|
Loading…
Reference in a new issue