From 6530ae13ecfee9091baa31333a7aafbcc4d6f97a Mon Sep 17 00:00:00 2001 From: Wilbur Jaywright <53358500+thelabcat@users.noreply.github.com> Date: Fri, 2 Sep 2022 12:25:31 -0400 Subject: [PATCH 1/2] Changed the _get_blocks() method of block.Blocks() A multi-block vector slice of World().blocks now properly returns block data instead of inevitably setting it to 0. Tested with Raspberry Jam. --- picraft/block.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/picraft/block.py b/picraft/block.py index 4e90446..aa54b18 100644 --- a/picraft/block.py +++ b/picraft/block.py @@ -466,9 +466,9 @@ def __repr__(self): def _get_blocks(self, vrange): return [ - Block.from_string('%d,0' % int(i)) + Block.from_string(i.replace("|", ",", 1)+",0"*("|" not in i)) for i in self._connection.transact( - 'world.getBlocks(%d,%d,%d,%d,%d,%d)' % ( + 'world.getBlocksWithData(%d,%d,%d,%d,%d,%d)' % ( vrange.start.x, vrange.start.y, vrange.start.z, vrange.stop.x - vrange.step.x, vrange.stop.y - vrange.step.y, From c3bb2cb08a2e4036752826a6f17b9b3af214e6a5 Mon Sep 17 00:00:00 2001 From: Wilbur Jaywright <53358500+thelabcat@users.noreply.github.com> Date: Fri, 2 Sep 2022 12:52:47 -0400 Subject: [PATCH 2/2] Update block.py --- picraft/block.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/picraft/block.py b/picraft/block.py index aa54b18..049a9b8 100644 --- a/picraft/block.py +++ b/picraft/block.py @@ -466,14 +466,14 @@ def __repr__(self): def _get_blocks(self, vrange): return [ - Block.from_string(i.replace("|", ",", 1)+",0"*("|" not in i)) + Block.from_string(i) for i in self._connection.transact( 'world.getBlocksWithData(%d,%d,%d,%d,%d,%d)' % ( vrange.start.x, vrange.start.y, vrange.start.z, vrange.stop.x - vrange.step.x, vrange.stop.y - vrange.step.y, vrange.stop.z - vrange.step.z) - ).split(',') + ).split('|') ] def _get_block_loop(self, vrange):