Advertisement
vacla

Untitled

Oct 14th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.47 KB | None | 0 0
  1. public void loadFromJson(JsonObject obj) {
  2.         this.clear();
  3.        
  4.         if(JsonUtils.hasArray(obj, "blocks")) {
  5.             JsonArray blocksArr = obj.get("blocks").getAsJsonArray();
  6.            
  7.             for(int i = 0; i < blocksArr.size(); ++i) {
  8.                 JsonElement el = blocksArr.get(i);
  9.                
  10.                 if(el.isJsonObject()) {
  11.                     JsonObject block = el.getAsJsonObject();
  12.                    
  13.                     loadWatsonBlock(block);
  14.                 }
  15.             }
  16.         } else {
  17.             Watson.logger.warn("Failed to load blocks in");
  18.         }
  19.     }
  20.    
  21.     private void loadWatsonBlock(JsonObject obj) {
  22.         if(JsonUtils.hasString(obj, "blockname")) {
  23.             this.blockname = JsonUtils.getString(obj, "blockname");
  24.            
  25.             if(JsonUtils.hasFloat(obj, "lineWidth")) {
  26.                 this.lineWidth = JsonUtils.getFloat(obj, "lineWidth");
  27.             } else {
  28.                 this.lineWidth = 3.0f;
  29.                 Watson.logger.warn("Block name '{}' had a non-numberic/null linewidth. Defaulting to '{}'", blockname, lineWidth);
  30.             }
  31.            
  32.             if(JsonUtils.hasInteger(obj, "color")) {
  33.                 this.color = Color4f.fromColor(JsonUtils.getInteger(obj, "color"));
  34.             } else {
  35.                 Watson.logger.warn("Block name '{}' had a malformed color value and was set to the default color", blockname);
  36.                 this.color = null;
  37.             }
  38.            
  39.             if(JsonUtils.hasString(obj, "model")) {
  40.                 this.model = JsonUtils.getString(obj, "model");
  41.             } else {
  42.                 Watson.logger.warn("Block name '{}' had an invalid model name and will be drawn as a simple cuboid", blockname);
  43.                 this.model = "cuboid";
  44.             }
  45.            
  46.             if(JsonUtils.hasArray(obj, "bounds")) {
  47.                 this.bounds = obj.get("bounds").getAsJsonArray();
  48.             } else {
  49.                 Watson.logger.warn("Block name '{}' had a badly formed bounds setting; the default will be used", blockname);
  50.                 JsonArray arr = new JsonArray();
  51.                 arr.add(0.005);
  52.                 arr.add(0.005);
  53.                 arr.add(0.005);
  54.                 arr.add(0.995);
  55.                 arr.add(0.995);
  56.                 arr.add(0.995);
  57.                 bounds = arr;
  58.             }
  59.            
  60.             WatsonBlock watsonBlock = new WatsonBlock();
  61.             watsonBlock.setName(blockname);
  62.             watsonBlock.setLineWidth(lineWidth);
  63.             watsonBlock.setColor(color);
  64.             watsonBlock.setBlockModel(blockModel);
  65.             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());
  66.            
  67.             addBlockType(watsonBlock);
  68.         } else {
  69.             InfoUtils.showGuiAndInGameMessage(MessageType.ERROR, "watson.message.config.cant_load_blockname");
  70.             Watson.logger.warn("a block name was specified without a valid name");
  71.             blockname = null;
  72.         }
  73.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement