package net.minecraft.world.level; import java.util.Comparator; import net.minecraft.core.BlockPos; public class TickNextTickData { private static long counter; private final T type; public final BlockPos pos; public final long delay; public final TickPriority priority; private final long c; public TickNextTickData(final BlockPos fk, final T object) { this(fk, object, 0L, TickPriority.NORMAL); } public TickNextTickData(final BlockPos fk, final T object, final long long3, final TickPriority bkk) { this.c = TickNextTickData.counter++; this.pos = fk.immutable(); this.type = object; this.delay = long3; this.priority = bkk; } @Override public boolean equals(final Object object) { if (object instanceof TickNextTickData) { final TickNextTickData bkj3 = object; return this.pos.equals(bkj3.pos) && this.type == bkj3.type; } return false; } @Override public int hashCode() { return this.pos.hashCode(); } public static Comparator> createTimeComparator() { return Comparator.>comparingLong(bkj -> bkj.delay).thenComparing(bkj -> bkj.priority).thenComparingLong(bkj -> bkj.c); } @Override public String toString() { return this.type + ": " + this.pos + ", " + this.delay + ", " + this.priority + ", " + this.c; } public T getType() { return this.type; } }