Fix TESR culling for beacons, and implement a good enough measure for Chests.

This commit is contained in:
LexManos 2013-02-24 22:55:48 -08:00
parent a0bc6a3ed0
commit a520e128d7
1 changed files with 11 additions and 2 deletions

View File

@ -11,7 +11,7 @@
import net.minecraft.world.World; import net.minecraft.world.World;
public class TileEntity public class TileEntity
@@ -296,4 +299,84 @@ @@ -296,4 +299,93 @@
addMapping(TileEntityBeacon.class, "Beacon"); addMapping(TileEntityBeacon.class, "Beacon");
addMapping(TileEntitySkull.class, "Skull"); addMapping(TileEntitySkull.class, "Skull");
} }
@ -85,7 +85,16 @@
+ public AxisAlignedBB getRenderBoundingBox() + public AxisAlignedBB getRenderBoundingBox()
+ { + {
+ AxisAlignedBB bb = INFINITE_EXTENT_AABB; + AxisAlignedBB bb = INFINITE_EXTENT_AABB;
+ if (getBlockType()!=null && getBlockType() != Block.chest) + Block type = getBlockType();
+ if (type == Block.enchantmentTable)
+ {
+ bb = AxisAlignedBB.getAABBPool().addOrModifyAABBInPool(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 1, zCoord + 1);
+ }
+ else if (type == Block.chest)
+ {
+ bb = AxisAlignedBB.getAABBPool().addOrModifyAABBInPool(xCoord - 1, yCoord, zCoord - 1, xCoord + 2, yCoord + 1, zCoord + 2);
+ }
+ else if (type != null && type != Block.beacon)
+ { + {
+ AxisAlignedBB cbb = getBlockType().getCollisionBoundingBoxFromPool(worldObj, xCoord, yCoord, zCoord); + AxisAlignedBB cbb = getBlockType().getCollisionBoundingBoxFromPool(worldObj, xCoord, yCoord, zCoord);
+ if (cbb != null) + if (cbb != null)