package net.infstudio.goki.common.loot.conditions; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; import net.minecraft.util.JsonUtils; import net.minecraft.util.ResourceLocation; import net.minecraft.world.storage.loot.LootContext; import net.minecraft.world.storage.loot.conditions.LootCondition; import javax.annotation.Nonnull; import java.util.Random; public class LevelCondition implements LootCondition { public int level; // public Stat stat; public LevelCondition(int level) { this.level = level; // this.stat = StatBase.statKeyMap.get(stat); } @Override public boolean testCondition(@Nonnull Random rand, @Nonnull LootContext context) { return false; } public static class Serializer extends LootCondition.Serializer<LevelCondition> { public Serializer(ResourceLocation location, Class<LevelCondition> clazz) { super(location, clazz); } @Override public void serialize(JsonObject json, LevelCondition value, JsonSerializationContext context) { json.addProperty("minLevel", value.level); // json.addProperty("stat", value.stat.getKey()); } @Nonnull @Override public LevelCondition deserialize(JsonObject json, JsonDeserializationContext context) { return new LevelCondition(JsonUtils.getInt(json, "minLevel")); } } }