import json import os import copy import numpy as np class render_controller: def __init__(self): self.rc={"format_version": "1.8.0"} self.rc["render_controllers"]={} self.rcname = "controller.render.armor_stand.ghost_blocks" self.rc["render_controllers"][self.rcname] = {} materials = [{"*": "Material.ghost_blocks"}] self.rc["render_controllers"][self.rcname]["materials"]=materials self.geometry= "{}" self.textures = "{}" self def add_model(self,name_raw): name=name_raw.replace(" ","_").lower() new_geo = "query.get_name == '{}' ? Geometry.ghost_blocks_{} : ({})".format(name_raw,name,"{}") self.geometry=self.geometry.format(new_geo) new_texture = "query.get_name == '{}' ? Texture.ghost_blocks_{} : ({})".format(name_raw,name,"{}") self.textures = self.textures.format(new_texture) def export(self, pack_name): self.geometry = self.geometry.format("Geometry.default") self.textures = self.textures.format("Texture.default") self.rc["render_controllers"][self.rcname]["geometry"] = self.geometry self.rc["render_controllers"][self.rcname]["textures"] = [self.textures] rc = "armor_stand.ghost_blocks.render_controllers.json" rcpath = "{}/render_controllers/{}".format(pack_name, rc) os.makedirs(os.path.dirname(rcpath), exist_ok = True) with open(rcpath, "w+") as json_file: json.dump(self.rc, json_file, indent=2)