Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void loadFromJson(JsonObject obj) {
- this.clear();
- if(JsonUtils.hasArray(obj, "blocks")) {
- JsonArray blocksArr = obj.get("blocks").getAsJsonArray();
- for(int i = 0; i < blocksArr.size(); ++i) {
- JsonElement el = blocksArr.get(i);
- if(el.isJsonObject()) {
- JsonObject block = el.getAsJsonObject();
- loadWatsonBlock(block);
- }
- }
- } else {
- Watson.logger.warn("Failed to load blocks in");
- }
- }
- private void loadWatsonBlock(JsonObject obj) {
- if(JsonUtils.hasString(obj, "blockname")) {
- this.blockname = JsonUtils.getString(obj, "blockname");
- if(JsonUtils.hasFloat(obj, "lineWidth")) {
- this.lineWidth = JsonUtils.getFloat(obj, "lineWidth");
- } else {
- this.lineWidth = 3.0f;
- Watson.logger.warn("Block name '{}' had a non-numberic/null linewidth. Defaulting to '{}'", blockname, lineWidth);
- }
- if(JsonUtils.hasInteger(obj, "color")) {
- this.color = Color4f.fromColor(JsonUtils.getInteger(obj, "color"));
- } else {
- Watson.logger.warn("Block name '{}' had a malformed color value and was set to the default color", blockname);
- this.color = null;
- }
- if(JsonUtils.hasString(obj, "model")) {
- this.model = JsonUtils.getString(obj, "model");
- } else {
- Watson.logger.warn("Block name '{}' had an invalid model name and will be drawn as a simple cuboid", blockname);
- this.model = "cuboid";
- }
- if(JsonUtils.hasArray(obj, "bounds")) {
- this.bounds = obj.get("bounds").getAsJsonArray();
- } else {
- Watson.logger.warn("Block name '{}' had a badly formed bounds setting; the default will be used", blockname);
- JsonArray arr = new JsonArray();
- arr.add(0.005);
- arr.add(0.005);
- arr.add(0.005);
- arr.add(0.995);
- arr.add(0.995);
- arr.add(0.995);
- bounds = arr;
- }
- WatsonBlock watsonBlock = new WatsonBlock();
- watsonBlock.setName(blockname);
- watsonBlock.setLineWidth(lineWidth);
- watsonBlock.setColor(color);
- watsonBlock.setBlockModel(blockModel);
- watsonBlock.setBounds(bounds.get(0).getAsFloat(), bounds.get(1).getAsFloat(), bounds.get(2).getAsFloat(), bounds.get(3).getAsFloat(), bounds.get(4).getAsFloat(), bounds.get(5).getAsFloat());
- addBlockType(watsonBlock);
- } else {
- InfoUtils.showGuiAndInGameMessage(MessageType.ERROR, "watson.message.config.cant_load_blockname");
- Watson.logger.warn("a block name was specified without a valid name");
- blockname = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement