Compare commits
3 Commits
f93e52b080
...
1d6d8eeb70
Author | SHA1 | Date |
---|---|---|
Pascal Abresch | 1d6d8eeb70 | |
Pascal Abresch | 14c25ccc39 | |
Pascal Abresch | ae84f4977a |
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Reference in New Issue