base mod created
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
package net.minecraft.advancements;
|
||||
|
||||
import com.google.gson.JsonDeserializationContext;
|
||||
import com.google.gson.JsonObject;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public interface ICriterionTrigger<T extends ICriterionInstance>
|
||||
{
|
||||
ResourceLocation getId();
|
||||
|
||||
void addListener(PlayerAdvancements playerAdvancementsIn, ICriterionTrigger.Listener<T> listener);
|
||||
|
||||
void removeListener(PlayerAdvancements playerAdvancementsIn, ICriterionTrigger.Listener<T> listener);
|
||||
|
||||
void removeAllListeners(PlayerAdvancements playerAdvancementsIn);
|
||||
|
||||
/**
|
||||
* Deserialize a ICriterionInstance of this trigger from the data in the JSON.
|
||||
*/
|
||||
T deserializeInstance(JsonObject json, JsonDeserializationContext context);
|
||||
|
||||
public static class Listener<T extends ICriterionInstance>
|
||||
{
|
||||
private final T criterionInstance;
|
||||
private final Advancement advancement;
|
||||
private final String criterionName;
|
||||
|
||||
public Listener(T criterionInstanceIn, Advancement advancementIn, String criterionNameIn)
|
||||
{
|
||||
this.criterionInstance = criterionInstanceIn;
|
||||
this.advancement = advancementIn;
|
||||
this.criterionName = criterionNameIn;
|
||||
}
|
||||
|
||||
public T getCriterionInstance()
|
||||
{
|
||||
return this.criterionInstance;
|
||||
}
|
||||
|
||||
public void grantCriterion(PlayerAdvancements playerAdvancementsIn)
|
||||
{
|
||||
playerAdvancementsIn.grantCriterion(this.advancement, this.criterionName);
|
||||
}
|
||||
|
||||
public boolean equals(Object p_equals_1_)
|
||||
{
|
||||
if (this == p_equals_1_)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (p_equals_1_ != null && this.getClass() == p_equals_1_.getClass())
|
||||
{
|
||||
ICriterionTrigger.Listener<?> listener = (ICriterionTrigger.Listener)p_equals_1_;
|
||||
|
||||
if (!this.criterionInstance.equals(listener.criterionInstance))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return !this.advancement.equals(listener.advancement) ? false : this.criterionName.equals(listener.criterionName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public int hashCode()
|
||||
{
|
||||
int i = this.criterionInstance.hashCode();
|
||||
i = 31 * i + this.advancement.hashCode();
|
||||
i = 31 * i + this.criterionName.hashCode();
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user