@Override public String write(List<WeightedMobSpawnGroup> groups) { return WeightedMobSpawnGroup.toJson(groups); }
@Override public String toString() { StringBuilder builder = new StringBuilder(); toJson(builder); return builder.toString(); }
/** * Converts a list of mob groups to a single, JSON-formatted string. * @param list The list to convert. * @return The mob groups. */ public static String toJson(List<WeightedMobSpawnGroup> list) { StringBuilder json = new StringBuilder("["); for (WeightedMobSpawnGroup group : list) { group.toJson(json); json.append(", "); } // Remove ", " at end if (json.length() != 1) { json.deleteCharAt(json.length() - 1); json.deleteCharAt(json.length() - 1); } // Add closing bracket json.append(']'); return json.toString(); }
@Test public void testSerialization() throws InvalidConfigException { WeightedMobSpawnGroup creeperGroup = new WeightedMobSpawnGroup("Creeper", 10, 3, 5); WeightedMobSpawnGroup sheepGroup = new WeightedMobSpawnGroup("Sheep", 5, 1, 3); List<WeightedMobSpawnGroup> groups = Arrays.asList(creeperGroup, sheepGroup); assertEquals(groups, fromJson(toJson(groups))); }