From d6e12b9d55b489616bcb86749007ac938ac0b5e9 Mon Sep 17 00:00:00 2001 From: Casper Peters Date: Fri, 2 Nov 2018 21:47:32 +0100 Subject: [PATCH] Json object loads is sometimes bytes object fix. --- blockcrafter/mcmodel.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/blockcrafter/mcmodel.py b/blockcrafter/mcmodel.py index 43d644c..c4f0346 100644 --- a/blockcrafter/mcmodel.py +++ b/blockcrafter/mcmodel.py @@ -346,7 +346,11 @@ def get_blockstate(self, identifier): prefix, name = identifier.split(":") path = self.blockstate_base.format(prefix=prefix) + "/" + name + ".json" properties = self._blockstate_properties.get(identifier) - return Blockstate(self, prefix, name, json.loads(self.source.load_file(path)), properties=properties) + ### EDIT (Pull request from Berghopper) + json_loads_obj = self.source.load_file(path) + if isinstance(json_loads_obj, bytes): + json_loads_obj = json_loads_obj.decode("utf-8") + return Blockstate(self, prefix, name, json.loads(json_loads_obj), properties=properties) @property def blockstate_files(self): @@ -367,7 +371,11 @@ def _get_model_json(self, path): if path in self._model_json_cache: return self._model_json_cache[path] - m = json.loads(self.source.load_file(path)) + ### EDIT (Pull request from Berghopper) + json_loads_obj = self.source.load_file(path) + if isinstance(json_loads_obj, bytes): + json_loads_obj = json_loads_obj.decode("utf-8") + m = json.loads(json_loads_obj) textures = {} elements = {}