@Override
 public void addCollisionBoxesToList(
     World world, int i, int j, int k, AxisAlignedBB axisalignedbb, List list, Entity entity) {
   setBlockBoundsBasedOnState(world, i, j, k);
   super.addCollisionBoxesToList(world, i, j, k, axisalignedbb, list, entity);
   setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.375F);
 }
  @Override
  public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block block) {
    ChunkCoordinates coord =
        getBase(par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4));
    if (par1World.getBlock(coord.posX, coord.posY, coord.posZ) != NailedBlocks.portalCrystal) {
      this.dropBlockAsItem(par1World, par2, par3, par4, 0, 0);
      par1World.setBlockToAir(par2, par3, par4);
    }

    super.onNeighborBlockChange(par1World, par2, par3, par4, block);
  }
 @Override
 public void onBlockAdded(World par1World, int par2, int par3, int par4) {
   super.onBlockAdded(par1World, par2, par3, par4);
   updateTileEntityOrientation(par1World, par2, par3, par4);
 }