Revert partly my shit on xwalls
This commit is contained in:
parent
20169eb86a
commit
1aaadc83c7
12
xwall.lua
12
xwall.lua
@ -48,12 +48,13 @@ function xwall.update_one_node(pos, name, digged)
|
|||||||
local node = minetest.get_node(vector.add(pos, dir))
|
local node = minetest.get_node(vector.add(pos, dir))
|
||||||
local ndef = minetest.registered_nodes[node.name]
|
local ndef = minetest.registered_nodes[node.name]
|
||||||
|
|
||||||
if not node and not node.name and not ndef then break end
|
if node and node.name and ndef then
|
||||||
if ndef.drop == name or (ndef.groups and ndef.groups.xwall) then
|
if ndef.drop == name or (ndef.groups and ndef.groups.xwall) then
|
||||||
candidates[i] = node.name
|
candidates[i] = node.name
|
||||||
id = id + pow2[i]
|
id = id + pow2[i]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if digged then return candidates end
|
if digged then return candidates end
|
||||||
|
|
||||||
@ -78,10 +79,11 @@ function xwall.update(pos, name, active, has_been_digged)
|
|||||||
local c = xwall.update_one_node(pos, name, has_been_digged)
|
local c = xwall.update_one_node(pos, name, has_been_digged)
|
||||||
for j = 1, #directions do
|
for j = 1, #directions do
|
||||||
local dir2 = directions[j]
|
local dir2 = directions[j]
|
||||||
if c[j] == 0 and c[j] == "ignore" then break end
|
if c[j] ~= 0 and c[j] ~= "ignore" then
|
||||||
xwall.update_one_node(vector.add(pos, dir2), c[j], false)
|
xwall.update_one_node(vector.add(pos, dir2), c[j], false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function xwall.register(name, def, node_box_data)
|
function xwall.register(name, def, node_box_data)
|
||||||
for k, v in pairs(node_box_data) do
|
for k, v in pairs(node_box_data) do
|
||||||
@ -94,16 +96,14 @@ function xwall.register(name, def, node_box_data)
|
|||||||
if not def.tiles then def.tiles = def.textures end
|
if not def.tiles then def.tiles = def.textures end
|
||||||
if not def.groups then
|
if not def.groups then
|
||||||
def.groups = {xwall=1, cracky=3}
|
def.groups = {xwall=1, cracky=3}
|
||||||
end
|
else def.groups.xwall = 1 end
|
||||||
def.groups.xwall = 1
|
|
||||||
|
|
||||||
local newdef = clone_table(def)
|
local newdef = clone_table(def)
|
||||||
if k == "ln" then
|
if k == "ln" then
|
||||||
newdef.on_construct = function(pos)
|
newdef.on_construct = function(pos)
|
||||||
return xwall.update(pos, name.."_ln", true, nil)
|
return xwall.update(pos, name.."_ln", true, nil)
|
||||||
end
|
end
|
||||||
end
|
else newdef.groups.not_in_creative_inventory = 1 end
|
||||||
newdef.groups.not_in_creative_inventory = 1
|
|
||||||
|
|
||||||
newdef.after_dig_node = function(pos, _, _, _)
|
newdef.after_dig_node = function(pos, _, _, _)
|
||||||
return xwall.update(pos, name.."_ln", true, true)
|
return xwall.update(pos, name.."_ln", true, true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user