From 598050ddf418fd6bd0f6658b9962c4a201fba8f0 Mon Sep 17 00:00:00 2001 From: Alejandro Aguilera Date: Fri, 17 Dec 2010 12:51:07 +0100 Subject: [PATCH] Chunk.pi now loads the 4 adjacent chunks (only blocks data). --- chunk.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/chunk.py b/chunk.py index b43c070..8f9731f 100644 --- a/chunk.py +++ b/chunk.py @@ -284,6 +284,46 @@ class ChunkRenderer(object): return self._right_blocklight right_blocklight = property(_load_right_blocklight) + def _load_up_right(self): + """Loads and sets data from upper-right chunk""" + chunk_path = self.world.get_chunk_path(self.coords[0] + 1, self.coords[1]) + try: + chunk_data = get_lvldata(chunk_path) + self._up_right_skylight = get_skylight_array(chunk_data) + self._up_right_blocklight = get_blocklight_array(chunk_data) + self._up_right_blocks = get_blockarray(chunk_data) + except IOError: + self._up_right_skylight = None + self._up_right_blocklight = None + self._up_right_blocks = None + + def _load_up_right_blocks(self): + """Loads and returns upper-right block array""" + if not hasattr(self, "_up_right_blocks"): + self._load_up_right() + return self._up_right_blocks + up_right_blocks = property(_load_up_right_blocks) + + def _load_up_left(self): + """Loads and sets data from upper-left chunk""" + chunk_path = self.world.get_chunk_path(self.coords[0], self.coords[1] - 1) + try: + chunk_data = get_lvldata(chunk_path) + self._up_left_skylight = get_skylight_array(chunk_data) + self._up_left_blocklight = get_blocklight_array(chunk_data) + self._up_left_blocks = get_blockarray(chunk_data) + except IOError: + self._up_left_skylight = None + self._up_left_blocklight = None + self._up_left_blocks = None + + def _load_up_left_blocks(self): + """Loads and returns lower-left block array""" + if not hasattr(self, "_up_left_blocks"): + self._load_up_left() + return self._up_left_blocks + up_left_blocks = property(_load_up_left_blocks) + def _hash_blockarray(self): """Finds a hash of the block array""" if hasattr(self, "_digest"):