From 14a470985df8bc3e507a9d6a6f6a64b734873ec9 Mon Sep 17 00:00:00 2001 From: Wesley Wolfe Date: Sat, 4 Aug 2012 21:06:17 -0500 Subject: [PATCH] Add AABBPool for diff visibility --- .../java/net/minecraft/server/AABBPool.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/net/minecraft/server/AABBPool.java diff --git a/src/main/java/net/minecraft/server/AABBPool.java b/src/main/java/net/minecraft/server/AABBPool.java new file mode 100644 index 0000000000..a5eeb2fb14 --- /dev/null +++ b/src/main/java/net/minecraft/server/AABBPool.java @@ -0,0 +1,53 @@ +package net.minecraft.server; + +import java.util.ArrayList; +import java.util.List; + +public class AABBPool { + + private final int a; + private final int b; + private final List c = new ArrayList(); + private int d = 0; + private int e = 0; + private int f = 0; + + public AABBPool(int i, int j) { + this.a = i; + this.b = j; + } + + public AxisAlignedBB a(double d0, double d1, double d2, double d3, double d4, double d5) { + AxisAlignedBB axisalignedbb; + + if (this.d >= this.c.size()) { + axisalignedbb = new AxisAlignedBB(d0, d1, d2, d3, d4, d5); + this.c.add(axisalignedbb); + } else { + axisalignedbb = (AxisAlignedBB) this.c.get(this.d); + axisalignedbb.b(d0, d1, d2, d3, d4, d5); + } + + ++this.d; + return axisalignedbb; + } + + public void a() { + if (this.d > this.e) { + this.e = this.d; + } + + if (this.f++ == this.a) { + int i = Math.max(this.e, this.c.size() - this.b); + + while (this.c.size() > i) { + this.c.remove(i); + } + + this.e = 0; + this.f = 0; + } + + this.d = 0; + } +}