import java.util.ArrayList; import java.util.List; import net.minecraft.server.MinecraftServer; public class ic { private List a = new ArrayList(); private fb b = new fb(); private List c = new ArrayList(); private MinecraftServer d; public ic(MinecraftServer paramMinecraftServer) { this.d = paramMinecraftServer; } public void a() { for (int i = 0; i < this.c.size(); i++) { ((aj)this.c.get(i)).a(); } this.c.clear(); } private aj a(int paramInt1, int paramInt2, boolean paramBoolean) { long l = paramInt1 + 2147483647L | paramInt2 + 2147483647L << 32; aj localaj = (aj)this.b.a(l); if ((localaj == null) && (paramBoolean)) { localaj = new aj(this, paramInt1, paramInt2); this.b.a(l, localaj); } return localaj; } public void a(io paramio, int paramInt1, int paramInt2, int paramInt3) { int i = paramInt1 >> 4; int j = paramInt3 >> 4; aj localaj = a(i, j, false); if (localaj != null) localaj.a(paramio); } public void a(int paramInt1, int paramInt2, int paramInt3) { int i = paramInt1 >> 4; int j = paramInt3 >> 4; aj localaj = a(i, j, false); if (localaj != null) localaj.a(paramInt1 & 0xF, paramInt2, paramInt3 & 0xF); } public void a(ep paramep) { int i = (int)paramep.p >> 4; int j = (int)paramep.r >> 4; paramep.d = paramep.p; paramep.e = paramep.r; for (int k = i - 10; k <= i + 10; k++) { for (int m = j - 10; m <= j + 10; m++) { a(k, m, true).a(paramep); } } this.a.add(paramep); } public void b(ep paramep) { int i = (int)paramep.p >> 4; int j = (int)paramep.r >> 4; for (int k = i - 10; k <= i + 10; k++) { for (int m = j - 10; m <= j + 10; m++) { aj localaj = a(k, m, false); if (localaj == null) continue; localaj.b(paramep); } } this.a.remove(paramep); } private boolean a(int paramInt1, int paramInt2, int paramInt3, int paramInt4) { int i = paramInt1 - paramInt3; int j = paramInt2 - paramInt4; if ((i < -10) || (i > 10)) return false; return (j >= -10) && (j <= 10); } public void c(ep paramep) { int i = (int)paramep.p >> 4; int j = (int)paramep.r >> 4; double d1 = paramep.d - paramep.p; double d2 = paramep.e - paramep.r; double d3 = d1 * d1 + d2 * d2; if (d3 < 64.0D) return; int k = (int)paramep.d >> 4; int m = (int)paramep.e >> 4; int n = i - k; int i1 = j - m; if ((n == 0) && (i1 == 0)) return; for (int i2 = i - 10; i2 <= i + 10; i2++) { for (int i3 = j - 10; i3 <= j + 10; i3++) { if (!a(i2, i3, k, m)) { a(i2, i3, true).a(paramep); } if (!a(i2 - n, i3 - i1, i, j)) { aj localaj = a(i2 - n, i3 - i1, false); if (localaj == null) continue; localaj.b(paramep); } } } paramep.d = paramep.p; paramep.e = paramep.r; } public int b() { return 144; } }