BiomesOPlenty/src/minecraft/biomesoplenty/blocks/BlockGrave.java

97 lines
2.1 KiB
Java
Raw Normal View History

2013-07-01 07:33:41 +00:00
package biomesoplenty.blocks;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.particle.EffectRenderer;
import net.minecraft.client.particle.EntityDiggingFX;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.IBlockAccess;
2013-07-01 07:33:41 +00:00
import net.minecraft.world.World;
import biomesoplenty.BiomesOPlenty;
2013-07-09 21:05:03 +00:00
import biomesoplenty.blocks.renderers.RenderUtils;
2013-07-09 03:55:12 +00:00
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
2013-07-01 07:33:41 +00:00
public class BlockGrave extends Block
2013-07-09 21:05:03 +00:00
{
2013-07-01 07:33:41 +00:00
public BlockGrave(int id)
{
super(id, Material.rock);
setHardness(5f);
setCreativeTab(BiomesOPlenty.tabBiomesOPlenty);
}
@Override
public void registerIcons(IconRegister iconRegister)
{
2013-07-09 21:05:03 +00:00
blockIcon = iconRegister.registerIcon("stone");
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack itemstack)
{
int o = ((MathHelper.floor_double((double)(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3) + 2) % 4;
int fO;
if (o == 0 || o == 2)
{
fO = 0;
}
else
{
fO = 1;
}
if (!world.isRemote)
{
world.setBlockMetadataWithNotify(x, y, z, fO, 2);
}
}
@Override
public void setBlockBoundsBasedOnState(IBlockAccess world, int par2, int par3, int par4)
{
int meta = world.getBlockMetadata(par2, par3, par4);
switch (meta)
{
case 0:
2013-07-09 21:05:03 +00:00
this.setBlockBounds(0.0F, 0.0F, 0.31F, 1.0F, 1.625F, 0.69F);
break;
case 1:
2013-07-09 21:05:03 +00:00
this.setBlockBounds(0.0F, -1.0F, 0.31F, 1.0F, 0.625F, 0.69F);
break;
}
2013-07-01 07:33:41 +00:00
}
@Override
public boolean renderAsNormalBlock()
{
return false;
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
2013-07-09 21:05:03 +00:00
public int getRenderType()
2013-07-01 07:33:41 +00:00
{
2013-07-09 21:05:03 +00:00
return RenderUtils.graveModel;
2013-07-01 07:33:41 +00:00
}
2013-07-09 21:05:03 +00:00
2013-07-01 07:33:41 +00:00
@Override
2013-07-09 21:05:03 +00:00
public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l)
2013-07-01 07:33:41 +00:00
{
2013-07-09 21:05:03 +00:00
return true;
2013-07-01 07:33:41 +00:00
}
}