package com.thebrokenrail.sorcerycraft.advancement; import com.google.gson.JsonObject; import com.thebrokenrail.sorcerycraft.SorceryCraft; import net.minecraft.advancement.criterion.AbstractCriterion; import net.minecraft.advancement.criterion.AbstractCriterionConditions; import net.minecraft.predicate.entity.AdvancementEntityPredicateDeserializer; import net.minecraft.predicate.entity.EntityPredicate; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; public class CreateSpellCriterion extends AbstractCriterion { private static final Identifier ID = new Identifier(SorceryCraft.NAMESPACE, "create_spell"); public CreateSpellCriterion() { } @Override protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) { return new CreateSpellCriterion.Conditions(playerPredicate); } @Override public Identifier getId() { return ID; } public void trigger(ServerPlayerEntity player) { test(player, (conditions) -> true); } public static class Conditions extends AbstractCriterionConditions { public Conditions(EntityPredicate.Extended player) { super(ID, player); } } }