Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package qwertyasdef.alchemtrans.block;
- import net.minecraft.block.Block;
- import net.minecraft.block.ITileEntityProvider;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.properties.PropertyDirection;
- import net.minecraft.block.state.BlockStateContainer;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.client.renderer.block.model.ModelResourceLocation;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.inventory.InventoryHelper;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.EnumHand;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.world.World;
- import net.minecraftforge.client.model.ModelLoader;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- import qwertyasdef.alchemtrans.AlchemTrans;
- import qwertyasdef.alchemtrans.Tile.TileNetherrackFurnace;
- public class BlockNetherrackFurnace extends Block implements ITileEntityProvider {
- public static final int GUI_ID = 0;
- public static final PropertyDirection FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);
- private String name = "netherrack_furnace";
- public BlockNetherrackFurnace() {
- super(Material.ROCK);
- this.setRegistryName(name);
- this.setUnlocalizedName(AlchemTrans.MODID + "." + name);
- this.setHarvestLevel("pickaxe", 0);
- this.setHardness(5F);
- this.setResistance(25F);
- this.setLightLevel(1F);
- this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
- this.isBlockContainer = true;
- }
- @SideOnly(Side.CLIENT)
- public void initModel() {
- ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(getRegistryName(), "inventory"));
- }
- // Tile Entity
- @Override
- public TileEntity createNewTileEntity(World worldIn, int meta) {
- return new TileNetherrackFurnace();
- }
- @Override
- public void breakBlock(World world, BlockPos pos, IBlockState state) {
- TileNetherrackFurnace tileEntity = (TileNetherrackFurnace) world.getTileEntity(pos);
- InventoryHelper.dropInventoryItems(world, pos, tileEntity);
- super.breakBlock(world, pos, state);
- world.removeTileEntity(pos);
- }
- @Override
- public void onBlockPlacedBy( World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) {
- worldIn.setBlockState(pos, state.withProperty(FACING, placer.getHorizontalFacing().getOpposite()), 2);
- if (stack.hasDisplayName()) {
- ((TileNetherrackFurnace) worldIn.getTileEntity(pos)).setCustomName(stack.getDisplayName());
- }
- }
- @Override
- public boolean onBlockActivated( World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
- if (world.isRemote) {
- return true;
- }
- TileEntity tileEntity = world.getTileEntity(pos);
- if (tileEntity != null) {
- player.openGui(AlchemTrans.instance, GUI_ID, world, pos.getX(), pos.getY(), pos.getZ());
- }
- return true;
- }
- @Override
- public IBlockState getStateFromMeta(int meta) {
- return getDefaultState().withProperty(FACING, EnumFacing.getHorizontal(meta));
- }
- @Override
- public int getMetaFromState(IBlockState state) {
- return state.getValue(FACING).getIndex();
- }
- @Override
- protected BlockStateContainer createBlockState() {
- return new BlockStateContainer(this, FACING);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement