@Override public void write(JsonWriter out, QuestTaskMob.Mob value) throws IOException { out.beginObject(); out.name(NAME).value(value.getName()); ItemStack stack = value.getIcon(); if (stack != null) { MinecraftAdapter.ITEM_STACK.write(out.name(ICON), stack); } out.name(MOB).value(value.getMob()); out.name(KILLS).value(value.getCount()); out.name(EXACT).value(value.isExact()); out.endObject(); }
@Override public QuestTaskMob.Mob read(JsonReader in) throws IOException { in.beginObject(); QuestTaskMob.Mob result = ((QuestTaskMob) TASK).new Mob(); while (in.hasNext()) { String name = in.nextName(); if (name.equalsIgnoreCase(NAME)) { result.setName(in.nextString()); } else if (name.equalsIgnoreCase(ICON)) { result.setIcon(MinecraftAdapter.ITEM_STACK.read(in)); } else if (name.equalsIgnoreCase(MOB)) { result.setMob(in.nextString()); } else if (name.equalsIgnoreCase(EXACT)) { result.setExact(in.nextBoolean()); } else if (name.equalsIgnoreCase(KILLS)) { result.setCount(in.nextInt()); } } in.endObject(); return result; }