package com.asteria.utility.json; import java.util.Objects; import com.asteria.game.character.PoisonType; import com.asteria.game.character.combat.effect.CombatPoisonEffect; import com.asteria.utility.JsonLoader; import com.google.gson.Gson; import com.google.gson.JsonObject; /** * The {@link JsonLoader} implementation that loads all weapons that poison * players. * * @author lare96 <http://github.com/lare96> */ public final class WeaponPoisonLoader extends JsonLoader { /** * Creates a new {@link WeaponPoisonLoader}. */ public WeaponPoisonLoader() { super("./data/json/equipment/weapon_poison.json"); } @Override public void load(JsonObject reader, Gson builder) { int id = reader.get("id").getAsInt(); PoisonType type = Objects.requireNonNull(PoisonType.valueOf(reader.get("type").getAsString())); CombatPoisonEffect.TYPES.put(id, type); } }