diff --git a/util/minetestmapper.py b/util/minetestmapper.py index c7ec0774e..1914576e8 100755 --- a/util/minetestmapper.py +++ b/util/minetestmapper.py @@ -88,9 +88,19 @@ def int_to_hex4(i): def getBlockAsInteger(p): return p[2]*16777216 + p[1]*4096 + p[0] -def getIntegerAsBlock(i): - return i%4096, int(i/4096)%4096, int(i/16777216)%4096 +def unsignedToSigned(i, max_positive): + if i < max_positive: + return i + else: + return i - 2*max_positive +def getIntegerAsBlock(i): + x = unsignedToSigned(i % 4096, 2048) + i = int((i - x) / 4096) + y = unsignedToSigned(i % 4096, 2048) + i = int((i - y) / 4096) + z = unsignedToSigned(i % 4096, 2048) + return x,y,z def limit(i, l, h): if(i > h):