hassansyyid

I'm doing SOMETHING horribly wrong

Jul 5th, 2015
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.50 KB | None | 0 0
  1. package com.arisux.avp.block;
  2.  
  3. import java.util.Random;
  4.  
  5. import com.arisux.avp.entities.tile.PoweredTileEntity;
  6. import com.arisux.avp.entities.tile.TileEntityBlastdoor;
  7.  
  8. import net.minecraft.block.Block;
  9. import net.minecraft.block.material.Material;
  10. import net.minecraft.entity.Entity;
  11. import net.minecraft.entity.player.EntityPlayer;
  12. import net.minecraft.util.AxisAlignedBB;
  13. import net.minecraft.world.World;
  14.  
  15. public class GhostBlock extends Block
  16.     {
  17.         private Block parentBlock;
  18.         private PoweredTileEntity parentTileEntity;
  19.         public boolean canCollide;
  20.        
  21.         public GhostBlock()
  22.         {
  23.             super(Material.iron);
  24.             setTickRandomly(true);
  25.         }
  26.  
  27.         @Override
  28.         public int getRenderType()
  29.         {
  30.             return -1;
  31.         }
  32.        
  33.         @Override
  34.         public void updateTick(World worldIn, int x, int y, int z, Random rand)
  35.         {
  36.             getParentBlock(worldIn, x, y, z);
  37.         }
  38.        
  39.         public Block getParentBlock(World world, int xPos, int yPos, int zPos)
  40.         {
  41.             for(int x = xPos + 1; x <= (3 + xPos); x++)
  42.             {
  43.                 if(world.getTileEntity(x, yPos, zPos) instanceof TileEntityBlastdoor)
  44.                 {
  45.                     TileEntityBlastdoor te = (TileEntityBlastdoor) world.getTileEntity(x, yPos, zPos);
  46.                     parentTileEntity = te;
  47.                     BlockBlastdoor b = (BlockBlastdoor) world.getBlock(x, yPos, zPos);
  48.                     parentBlock = b;
  49.                     return parentBlock;
  50.                 }
  51.                 for(int y = yPos + 1; y <= (3 + yPos); y++)
  52.                 {
  53.                     if(world.getTileEntity(x, y, zPos) instanceof TileEntityBlastdoor)
  54.                     {
  55.                         TileEntityBlastdoor te = (TileEntityBlastdoor) world.getTileEntity(x, y, zPos);
  56.                         parentTileEntity = te;
  57.                         BlockBlastdoor b = (BlockBlastdoor) world.getBlock(x, y, zPos);
  58.                         parentBlock = b;
  59.                         return parentBlock;
  60.                     }
  61.                     for(int z = zPos + 1; z <= (3 + zPos); z++)
  62.                     {
  63.                         if(world.getTileEntity(x, y, z) instanceof TileEntityBlastdoor)
  64.                         {
  65.                             TileEntityBlastdoor te = (TileEntityBlastdoor) world.getTileEntity(x, y, z);
  66.                             parentTileEntity = te;
  67.                             BlockBlastdoor b = (BlockBlastdoor) world.getBlock(x, y, z);
  68.                             parentBlock = b;
  69.                             return parentBlock;
  70.                         }
  71.                     }
  72.                 }
  73.             }
  74.            
  75.             for(int x = xPos - 1; x >= (xPos - 3); x--)
  76.             {
  77.                 if(world.getTileEntity(x, yPos, zPos) instanceof TileEntityBlastdoor)
  78.                 {
  79.                     TileEntityBlastdoor te = (TileEntityBlastdoor) world.getTileEntity(x, yPos, zPos);
  80.                     parentTileEntity = te;
  81.                     BlockBlastdoor b = (BlockBlastdoor) world.getBlock(x, yPos, zPos);
  82.                     parentBlock = b;
  83.                     return parentBlock;
  84.                 }
  85.                 for(int y = yPos - 1; y >= (yPos - 3); y--)
  86.                 {
  87.                     if(world.getTileEntity(x, y, zPos) instanceof TileEntityBlastdoor)
  88.                     {
  89.                         TileEntityBlastdoor te = (TileEntityBlastdoor) world.getTileEntity(x, y, zPos);
  90.                         parentTileEntity = te;
  91.                             BlockBlastdoor b = (BlockBlastdoor) world.getBlock(x, y, zPos);
  92.                             parentBlock = b;
  93.                             return parentBlock;
  94.                     }
  95.                     for(int z = zPos - 1; z >= (zPos - 3); z--)
  96.                     {
  97.                         if(world.getTileEntity(x, y, z) instanceof TileEntityBlastdoor)
  98.                         {
  99.                             TileEntityBlastdoor te = (TileEntityBlastdoor) world.getTileEntity(x, y, z);
  100.                             parentTileEntity = te;
  101.                                 BlockBlastdoor b = (BlockBlastdoor) world.getBlock(x, y, z);
  102.                                 parentBlock = b;
  103.                                 return parentBlock;
  104.                         }
  105.                     }
  106.                 }
  107.             }
  108.             return parentBlock;
  109.         }
  110.  
  111.         @Override
  112.         public boolean onBlockActivated(World world, int posX, int posY, int posZ, EntityPlayer player, int side, float subX, float subY, float subZ)
  113.         {
  114.             getParentBlock(world, posX, posY, posZ);
  115.             try
  116.             {
  117.                 return parentBlock.onBlockActivated(world, parentTileEntity.xCoord, parentTileEntity.yCoord, parentTileEntity.zCoord, player, side, subX, subY, subZ);
  118.             }
  119.             catch(NullPointerException e)
  120.             {
  121.  
  122.             }
  123.             return true;
  124.         }
  125.         @Override
  126.         public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_)
  127.         {
  128.             //if(this.parentBlock != null && this.parentTileEntity != null)
  129.             //{
  130.                 //TileEntityBlastdoor te = (TileEntityBlastdoor) this.parentTileEntity;
  131.                 //if(te.isDoorOpen())
  132.                 //{
  133.                     return null;
  134.                 //}
  135.                 //else
  136.                 //{
  137.                 //  return AxisAlignedBB.getBoundingBox((double)p_149668_2_ + this.minX, (double)p_149668_3_ + this.minY, (double)p_149668_4_ + this.minZ, (double)p_149668_2_ + this.maxX, (double)p_149668_3_ + this.maxY, (double)p_149668_4_ + this.maxZ);
  138.                 //}
  139.             //}
  140.             //return AxisAlignedBB.getBoundingBox((double)p_149668_2_ + this.minX, (double)p_149668_3_ + this.minY, (double)p_149668_4_ + this.minZ, (double)p_149668_2_ + this.maxX, (double)p_149668_3_ + this.maxY, (double)p_149668_4_ + this.maxZ);
  141.         }
  142.        
  143.         @Override
  144.         public void breakBlock(World world, int posX, int posY, int posZ, Block blockBroken, int meta)
  145.         {
  146.             //getParentBlock(world, posX, posY, posZ);
  147.             if(parentBlock != null && parentTileEntity != null)
  148.             {
  149.             try
  150.             {
  151.                 TileEntityBlastdoor te = (TileEntityBlastdoor) parentTileEntity;
  152.                 if(!te.isDoorOpen())
  153.                 {
  154.                     parentBlock.breakBlock(world, parentTileEntity.xCoord, parentTileEntity.yCoord, parentTileEntity.zCoord, blockBroken, meta);
  155.                 }
  156.             }
  157.             catch(NullPointerException e)
  158.             {
  159.  
  160.             }
  161.             }
  162.             else
  163.             {
  164.                 getParentBlock(world, posX, posY, posZ);
  165.                 try
  166.                 {
  167.                     TileEntityBlastdoor te = (TileEntityBlastdoor) parentTileEntity;
  168.                     if(!te.isDoorOpen())
  169.                     {
  170.                         parentBlock.breakBlock(world, parentTileEntity.xCoord, parentTileEntity.yCoord, parentTileEntity.zCoord, blockBroken, meta);
  171.                     }
  172.                 }
  173.                 catch(NullPointerException e)
  174.                 {
  175.  
  176.                 }
  177.             }          
  178.         }
  179.     }
Advertisement
Add Comment
Please, Sign In to add comment