package net.geforcemods.securitycraft.blocks;
import java.util.Random;
import net.geforcemods.securitycraft.tileentity.TileEntityOwnable;
import net.geforcemods.securitycraft.util.BlockUtils;
import net.minecraft.block.Block;
import net.minecraft.block.BlockPane;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class BlockReinforcedIronBars extends BlockPane implements ITileEntityProvider {
public BlockReinforcedIronBars(Material par1Material, boolean par2) {
super(par1Material, par2);
ObfuscationReflectionHelper.setPrivateValue(Block.class, this, SoundType.METAL, 16);
}
@Override
public void updateTick(World par1World, BlockPos pos, IBlockState state, Random par5Random) {
BlockUtils.setBlock(par1World, pos, Blocks.IRON_BARS);
}
@Override
public void breakBlock(World par1World, BlockPos pos, IBlockState state){
super.breakBlock(par1World, pos, state);
par1World.removeTileEntity(pos);
}
@Override
public boolean eventReceived(IBlockState state, World worldIn, BlockPos pos, int id, int param){
super.eventReceived(state, worldIn, pos, id, param);
TileEntity tileentity = worldIn.getTileEntity(pos);
return tileentity != null ? tileentity.receiveClientEvent(id, param) : false;
}
@Override
@SideOnly(Side.CLIENT)
public ItemStack getItem(World p_149694_1_, BlockPos pos, IBlockState state){
return new ItemStack(Item.getItemFromBlock(this));
}
/**
* only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative)
*/
@Override
@SideOnly(Side.CLIENT)
public Item getItemDropped(IBlockState state, Random par2Random, int par3){
return Item.getItemFromBlock(this);
}
@Override
public TileEntity createNewTileEntity(World par1, int par2) {
return new TileEntityOwnable();
}
}