Advertisement
R9000

Collision box code

Oct 11th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.98 KB | None | 0 0
  1. /////This is what I had before today://///
  2. @Override
  3.     public void setBlockBoundsBasedOnState(IBlockAccess iBlockAccess, int x, int y, int z) {
  4.         float x1, y1, z1, x2, y2, z2;
  5.         x1=y1=z1=0.3125F;
  6.         x2=y2=z2=0.6875F;
  7.        
  8.        
  9.         TileEntity te = iBlockAccess.getTileEntity(x, y, z);
  10.         if(te != null && te instanceof TileEntityBasicCharcoalWire2) {
  11.             TileEntityBasicCharcoalWire2 wire = (TileEntityBasicCharcoalWire2)te;
  12.             boolean connectedSides[] = wire.connectedSides;
  13.             if(connectedSides != null) {
  14.                 if(connectedSides[0]) y1 = 0;
  15.                 if(connectedSides[1]) y2 = 1;
  16.                 if(connectedSides[2]) z1 = 0;
  17.                 if(connectedSides[3]) z2 = 1;
  18.                 if(connectedSides[4]) x1 = 0;
  19.                 if(connectedSides[5]) x2 = 1;
  20.                 }
  21.         }
  22.         this.setBlockBounds(x1, y1, z1, x2, y2, z2);
  23.     }
  24.    
  25. /////This is what I added just now://///
  26.     private AxisAlignedBB getBoundingBox(World world, int x, int y, int z)
  27.     {
  28.         float x1, y1, z1, x2, y2, z2;
  29.         x1=y1=z1=0.3125F;
  30.         x2=y2=z2=0.6875F;
  31.        
  32.        
  33.         TileEntity te = world.getTileEntity(x, y, z);
  34.         if(te != null && te instanceof TileEntityBasicCharcoalWire2) {
  35.             TileEntityBasicCharcoalWire2 wire = (TileEntityBasicCharcoalWire2)te;
  36.             boolean connectedSides[] = wire.connectedSides;
  37.             if(connectedSides != null) {
  38.                 if(connectedSides[0]) y1 = 0;
  39.                 if(connectedSides[1]) y2 = 1;
  40.                 if(connectedSides[2]) z1 = 0;
  41.                 if(connectedSides[3]) z2 = 1;
  42.                 if(connectedSides[4]) x1 = 0;
  43.                 if(connectedSides[5]) x2 = 1;
  44.                 }
  45.         }
  46.         return AxisAlignedBB.getBoundingBox((double)x1, (double)y1, (double)z1, (double)x2, (double)y2, (double)z2);
  47.     }
  48.    
  49.    
  50.     @Override
  51.     public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) {
  52.         return this.getBoundingBox(world, x, y, z);
  53.     }
  54.    
  55.    
  56.     @SideOnly(Side.CLIENT)
  57.     @Override
  58.     public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) {
  59.         return this.getBoundingBox(world, x, y, z);
  60.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement