- @Override
- public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB AABB, List list, Entity entity)
- {
- boolean flag1 = canConnectPipeTo(world, x, y, z, 1, 0, 0);
- boolean flag2 = canConnectPipeTo(world, x, y, z, -1, 0, 0);
- boolean flag3 = canConnectPipeTo(world, x, y, z, 0, 1, 0);
- boolean flag4 = canConnectPipeTo(world, x, y, z, 0,-1, 0);
- boolean flag5 = canConnectPipeTo(world, x, y, z, 0, 0, 1);
- boolean flag6 = canConnectPipeTo(world, x, y, z, 0, 0,-1);
-
- float x1 = 0.25F;
- float y1 = 0.25F;
- float z1 = 0.25F;
- float x2 = 0.75F;
- float y2 = 0.75F;
- float z2 = 0.75F;
-
- if(flag1)
- x2 = 1.0F;
- if(flag2)
- x1 = 0.0F;
- if(flag3)
- y2 = 1.0F;
- if(flag4)
- y1 = 0.0F;
- if(flag5)
- z2 = 1.0F;
- if(flag6)
- z1 = 0.0F;
- this.setBlockBounds(x1, y1, z1, x2, y2, z2);
- super.addCollisionBoxesToList(world, x, y, z, AABB, list, entity);
- }
-
- private boolean canConnectPipeTo(IBlockAccess p_149719_1_, int x, int y, int z, int offestX, int offestY, int offestZ) {
-
- Block block = p_149719_1_.getBlock(x + offestX, y + offestY, z + offestZ);
-
- return block.getUnlocalizedName().equals(this.getUnlocalizedName());
- }
-
- @Override
- public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int x, int y, int z)
- {
- boolean flag1 = canConnectPipeTo(p_149719_1_, x, y, z, 1, 0, 0);
- boolean flag2 = canConnectPipeTo(p_149719_1_, x, y, z, -1, 0, 0);
- boolean flag3 = canConnectPipeTo(p_149719_1_, x, y, z, 0, 1, 0);
- boolean flag4 = canConnectPipeTo(p_149719_1_, x, y, z, 0,-1, 0);
- boolean flag5 = canConnectPipeTo(p_149719_1_, x, y, z, 0, 0, 1);
- boolean flag6 = canConnectPipeTo(p_149719_1_, x, y, z, 0, 0,-1);
-
- float x1 = 0.25F;
- float y1 = 0.25F;
- float z1 = 0.25F;
- float x2 = 0.75F;
- float y2 = 0.75F;
- float z2 = 0.75F;
-
- if(flag1)
- x2 = 1.0F;
- if(flag2)
- x1 = 0.0F;
- if(flag3)
- y2 = 1.0F;
- if(flag4)
- y1 = 0.0F;
- if(flag5)
- z2 = 1.0F;
- if(flag6)
- z1 = 0.0F;
- this.setBlockBounds(x1, y1, z1, x2, y2, z2);
-
- }
-
- @Override
- public boolean renderAsNormalBlock()
- {
- return false;
- }
- @Override
- public boolean getBlocksMovement(IBlockAccess p_149655_1_, int p_149655_2_, int p_149655_3_, int p_149655_4_)
- {
- return false;
- }
- @Override
- @SideOnly(Side.CLIENT)
- public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_)
- {
- return true;
- }
复制代码
|