diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-03-23 14:51:06 +0000 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-03-23 14:51:06 +0000 |
| commit | 6312636fd9a4d0f56dc7c9ff474a99d879bcb4e9 (patch) | |
| tree | e3279753210bfb169a00cd3f146a80baf624150e /src/main/java/darkknight/jewelrycraft/block/BlockShadow.java | |
| parent | e86949a1ad3269ec66c9de65e2c92f5e66251411 (diff) | |
Reworked the whole repo.
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/block/BlockShadow.java')
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/block/BlockShadow.java | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockShadow.java b/src/main/java/darkknight/jewelrycraft/block/BlockShadow.java new file mode 100644 index 0000000..b175fe6 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/block/BlockShadow.java @@ -0,0 +1,192 @@ +package darkknight.jewelrycraft.block; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.tileentity.TileEntityBlockShadow; + +public class BlockShadow extends BlockContainer +{ + private IIcon[] iconArray; + + /** + * + */ + public BlockShadow() + { + super(Material.iron); + setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + + /** + * @return + */ + @Override + public int getRenderBlockPass() + { + return 1; + } + + /** + * @param worldObj + * @param x + * @param y + * @param z + * @param beaconX + * @param beaconY + * @param beaconZ + * @return + */ + public boolean isBeaconBase(World worldObj, int x, int y, int z, int beaconX, int beaconY, int beaconZ) + { + return true; + } + + /** + * @return + */ + @Override + public boolean isOpaqueCube() + { + return false; + } + + /** + * @return + */ + @Override + public boolean renderAsNormalBlock() + { + return false; + } + + /** + * @param world + * @param x + * @param y + * @param z + * @param side + * @return + */ + public boolean isBlockSolidOnSide(World world, int x, int y, int z, ForgeDirection side) + { + return false; + } + + /** + * @param par0 + * @return + */ + public static boolean isNormalCube(int par0) + { + return true; + } + + /** + * @param world + * @param var2 + * @return + */ + @Override + public TileEntity createNewTileEntity(World world, int var2) + { + return new TileEntityBlockShadow(); + } + + /** + * @param par1IconRegister + */ + @Override + public void registerBlockIcons(IIconRegister par1IconRegister) + { + iconArray = new IIcon[16]; + for(int i = 0; i < iconArray.length; ++i) + iconArray[i] = par1IconRegister.registerIcon(getTextureName() + (15 - i)); + } + + /** + * @param world + * @param x + * @param y + * @param z + * @return + */ + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) + { + if (world.getBlockMetadata(x, y, z) == 15) return null; + return super.getCollisionBoundingBoxFromPool(world, x, y, z); + } + + /** + * @param par1IBlockAccess + * @param par2 + * @param par3 + * @param par4 + */ + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) + { + setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + + /** + * @param p_149646_1_ + * @param p_149646_2_ + * @param p_149646_3_ + * @param p_149646_4_ + * @param p_149646_5_ + * @return + */ + @Override + public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) + { + Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); + if (this == BlockList.shadowBlock) if (block == this) return false; + return block == this ? false : super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); + } + + /** + * @return + */ + @Override + public boolean hasComparatorInputOverride() + { + return true; + } + + /** + * @param world + * @param x + * @param y + * @param z + * @param meta + * @return + */ + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int meta) + { + return world.getBlockMetadata(x, y, z); + } + + /** + * @param side + * @param meta + * @return + */ + @Override + @SideOnly (Side.CLIENT) + public IIcon getIcon(int side, int meta) + { + return iconArray[meta]; + } +} |
