From 856b86858ebfa4af2c352b022188f82dcff7ed92 Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Sat, 1 Dec 2018 09:06:00 -0500 Subject: update basic_materials, biome_lib, technic, digilines, digistuff, gloopblocks, homedecor, moreblocks, pipeworks, prefab_redo --- technic/machines/register/cables.lua | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'technic/machines/register') diff --git a/technic/machines/register/cables.lua b/technic/machines/register/cables.lua index 1e8cee9..924128e 100644 --- a/technic/machines/register/cables.lua +++ b/technic/machines/register/cables.lua @@ -117,6 +117,19 @@ local function clear_networks(pos) end end +local function item_place_override_node(itemstack, placer, pointed, node) + -- Call the default on_place function with a fake itemstack + local temp_itemstack = ItemStack(itemstack) + temp_itemstack:set_name(node.name) + local original_count = temp_itemstack:get_count() + temp_itemstack = + minetest.item_place(temp_itemstack, placer, pointed, node.param2) or + temp_itemstack + -- Remove the same number of items from the real itemstack + itemstack:take_item(original_count - temp_itemstack:get_count()) + return itemstack +end + function technic.register_cable(tier, size) local ltier = string.lower(tier) cable_tier["technic:"..ltier.."_cable"] = tier @@ -228,11 +241,10 @@ function technic.register_cable(tier, size) num = xyz[((fine_pointed[bigger] < 0 and "-") or "") .. bigger] end end - minetest.set_node(pointed_thing.above, {name = "technic:"..ltier.."_cable_plate_"..num}) - if not (creative and creative.is_enabled_for(placer)) then - itemstack:take_item() - end - return itemstack + return item_place_override_node( + itemstack, placer, pointed_thing, + {name = "technic:"..ltier.."_cable_plate_"..num} + ) end else def.groups.not_in_creative_inventory = 1 -- cgit v1.2.3