Compare commits

...

3 Commits

Author SHA1 Message Date
Pascal Abresch 1d6d8eeb70 readd check for WRENCHABLE nodes sparktool 2019-12-19 19:52:21 +01:00
Pascal Abresch 14c25ccc39 added todo 2019-10-04 15:25:41 +02:00
Pascal Abresch ae84f4977a minor change 2019-10-04 14:15:23 +02:00
3 changed files with 13 additions and 9 deletions

View File

@ -45,12 +45,12 @@ function sparktech.dig_node(nodepos, inventory, listname, strictmode, quilty) --
end
end
-- TODO rebuild node grid (energy distribution)
if inventory:room_for_item(listname, ItemStack(node["name"])) then
inventory:add_item(listname, ItemStack(node["name"]))
inventory:add_item(listname, ItemStack(node["name"])) -- TODO STORE ENERGY sparktech_store_onbreak or something
else
if not strictmode then
minetest.item_drop(ItemStack(node["name"]), quilty, nodepos)
minetest.item_drop(ItemStack(node["name"]), quilty, nodepos) -- TODO STORE ENERGY
else
return false
end

View File

@ -21,8 +21,10 @@ function sparktech.register_wrench(name, dictionary)
local on_place = function(itemstack, placer, pointed_thing)
if pointed_thing["type"] == "node" then
if not sparktech.dig_node then dofile("./dig.lua") end
sparktech.dig_node(pointed_thing["under"], placer:get_inventory(), "main", false, placer)
sparktech.remove_node_from_net(pointed_thing.under, minetest.get_node(pointed_thing.under))
if minetest.get_item_group(minetest.get_node(pointed_thing["under"])["name"], "sparktech_techy") > 0 then
sparktech.dig_node(pointed_thing["under"], placer:get_inventory(), "main", false, placer)
end
end
return itemstack
end

View File

@ -116,8 +116,9 @@ minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack
add_node(pos, newnode)
end)
local function remove_node(pos, oldnode, force)
if (force or (minetest.get_item_group(oldnode.name, "sparktech_net_passive") == 1) or (minetest.get_item_group(oldnode.name, "sparktech_net_trigger") == 1)) then
local function remove_node(pos, oldnode)
if (minetest.get_item_group(oldnode.name, "sparktech_net_passive") == TRUE) or (minetest.get_item_group(oldnode.name, "sparktech_net_trigger") == TRUE) then
minetest.debug("removing nodes...")
local top = {x = pos.x, y = pos.y + 1, z = pos.z}
local bottom = {x = pos.x, y = pos.y - 1, z = pos.z}
local left = {x = pos.x - 1, y = pos.y, z = pos.z}
@ -128,11 +129,12 @@ local function remove_node(pos, oldnode, force)
local target_node = minetest.get_node(nodepos)
add_node(nodepos, target_node)
end
end
end
end
minetest.register_on_dignode(function(pos, oldnode, digger)
remove_node(pos, oldnode, true) -- FIXME Get rid of this! Somehow detect if a dynamic net_passive node is destroyed instead of updating speculatively
remove_node(pos, oldnode) -- FIXME Get rid of this! Somehow detect if a dynamic net_passive node is destroyed instead of updating speculatively
-- TODO: I am not sure what this is for, just to get every dig in general? but we already dont allow those nodes to be dug, so dunno
end)
sparktech.add_node_to_net = add_node