From 43bf49648f5e63c4cd7f9f56da06ad8c83d9fdee Mon Sep 17 00:00:00 2001 From: Megaf Date: Wed, 20 Dec 2017 15:45:51 -0200 Subject: [PATCH] Added functions from vector_extras to nether mod. Thanks @paramat. Fixes #7 In theory, needs testing. --- nether/init.lua | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/nether/init.lua b/nether/init.lua index e8381f2..5cf93e8 100644 --- a/nether/init.lua +++ b/nether/init.lua @@ -691,10 +691,40 @@ function nether.grow_netherstructure(pos, generated) set_vm_data(manip, nodes, pos, t1, "blood", generated) end +local function set(tab, z,y,x, data) + if tab[z] then + if tab[z][y] then + tab[z][y][x] = data + return + end + tab[z][y] = {[x] = data} + return + end + tab[z] = {[y] = {[x] = data}} +end -local set = vector.set_data_to_pos -local get = vector.get_data_from_pos -local remove = vector.remove_data_from_pos +local function get(tab, z,y,x) + local data = tab[z] + if data then + data = data[y] + if data then + return data[x] + end + end +end + +local function remove(tab, z,y,x) + if vector.get_data_from_pos(tab, z,y,x) == nil then + return + end + tab[z][y][x] = nil + if not next(tab[z][y]) then + tab[z][y] = nil + end + if not next(tab[z]) then + tab[z] = nil + end +end local function soft_node(id) return id == c.air or id == c.ignore