static MobRuleList$MobRuleEntry load(Properties properties, int index, int limit) { String skinList = properties.getProperty("skins." + index, "").trim().toLowerCase(); int[] skins; int chooser; if (!skinList.equals("*") && !skinList.equals("all") && !skinList.equals("any")) { skins = MCPatcherUtils.parseIntegerList(skinList, 1, limit); if (skins.length <= 0) { return null; } for (chooser = 0; chooser < skins.length; ++chooser) { --skins[chooser]; } } else { skins = new int[limit]; for (chooser = 0; chooser < skins.length; skins[chooser] = chooser++) {; } } WeightedIndex var11 = WeightedIndex.create(skins.length, properties.getProperty("weights." + index, "")); if (var11 == null) { return null; } else { String biomeList = MCPatcherUtils.getStringProperty(properties, "biomes." + index, ""); BitSet biomes; if (biomeList.isEmpty()) { biomes = null; } else { biomes = new BitSet(); if (MobRuleList.access$000() != null) { try { MobRuleList.access$000().invoke((Object) null, new Object[] {biomeList, biomes}); } catch (Throwable var10) { var10.printStackTrace(); MobRuleList.access$002((Method) null); } } } int minHeight = MCPatcherUtils.getIntProperty(properties, "minHeight." + index, -1); int maxHeight = MCPatcherUtils.getIntProperty(properties, "maxHeight." + index, Integer.MAX_VALUE); if (minHeight < 0 || minHeight > maxHeight) { minHeight = -1; maxHeight = Integer.MAX_VALUE; } return new MobRuleList$MobRuleEntry(skins, var11, biomes, minHeight, maxHeight); } }