From 10d2db72a77479f6731b290c0148a5af71ef13f6 Mon Sep 17 00:00:00 2001 From: debiankaios Date: Sun, 18 Jul 2021 08:01:25 +0000 Subject: [PATCH] Fix Bug Fixed Bug that nothing can placed on netherrack. --- mods/ITEMS/mcl_nether/init.lua | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/mods/ITEMS/mcl_nether/init.lua b/mods/ITEMS/mcl_nether/init.lua index 841181395..3d398df50 100644 --- a/mods/ITEMS/mcl_nether/init.lua +++ b/mods/ITEMS/mcl_nether/init.lua @@ -120,13 +120,13 @@ minetest.register_node("mcl_nether:netherrack", { -- Eternal fire on top after_destruct = eternal_after_destruct, _on_ignite = eternal_on_ignite, - on_rightclick = function(pos, node, pointed_thing, itemstack) - if pointed_thing:get_wielded_item():get_name() == "mcl_dye:white" then + on_rightclick = function(pos, node, player, itemstack, pointed_thing) + if player:get_wielded_item():get_name() == "mcl_dye:white" then itemstack:take_item() local ni = 0 -- stand for neigbour item for x = pos.x - 1,pos.x + 1 do - local node = minetest.get_node({x = x, y = pos.y, z = pos.z}) - if ni == 0 then + local node = minetest.get_node({x = x, y = pos.y, z = pos.z}) + if ni == 0 then if node.name == "mcl_mushroom:warped_nylium" then ni = 1 elseif node.name == "mcl_mushroom:crimson_nylium" then ni = 2 end elseif (ni == 1) or (ni == 2) then @@ -135,7 +135,7 @@ minetest.register_node("mcl_nether:netherrack", { end for z = pos.z - 1,pos.z + 1 do local node = minetest.get_node({x = pos.x, y = pos.y, z = z}) - if ni == 0 then + if ni == 0 then if node.name == "mcl_mushroom:warped_nylium" then ni = 1 elseif node.name == "mcl_mushroom:crimson_nylium" then ni = 2 end elseif (ni == 1) or (ni == 2) then @@ -146,7 +146,15 @@ minetest.register_node("mcl_nether:netherrack", { if ni == 1 then minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name="mcl_mushroom:warped_nylium"}) elseif ni == 2 then minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name="mcl_mushroom:crimson_nylium"}) end - end + else + if not (pointed_thing == nil) and pointed_thing.type == "node" then + --print(minetest.is_creative(player)) + minetest.place_node(minetest.get_pointed_thing_position(pointed_thing, true), {name = player:get_wielded_item():get_name()}) + if not (minetest.check_player_privs(player, {creative=true})) and not (minetest.settings:get_bool("creative_mode")) then + itemstack:take_item() + end + end + end end, })