Advertisement
ButterAleks

chest class

Jan 20th, 2019
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. package com.ButterAleks.RandomIdeas.blocks;
  2.  
  3. import com.ButterAleks.RandomIdeas.Main;
  4. import com.ButterAleks.RandomIdeas.blocks.tileentity.TileEntityRainbowChestBlock;
  5. import com.ButterAleks.RandomIdeas.init.ModBlocks;
  6. import com.ButterAleks.RandomIdeas.init.ModItems;
  7. import com.ButterAleks.RandomIdeas.util.Reference;
  8.  
  9. import net.minecraft.block.BlockContainer;
  10. import net.minecraft.block.material.Material;
  11. import net.minecraft.block.state.IBlockState;
  12. import net.minecraft.entity.EntityLivingBase;
  13. import net.minecraft.entity.player.EntityPlayer;
  14. import net.minecraft.inventory.InventoryHelper;
  15. import net.minecraft.item.ItemBlock;
  16. import net.minecraft.item.ItemStack;
  17. import net.minecraft.tileentity.TileEntity;
  18. import net.minecraft.util.EnumBlockRenderType;
  19. import net.minecraft.util.EnumFacing;
  20. import net.minecraft.util.EnumHand;
  21. import net.minecraft.util.math.BlockPos;
  22. import net.minecraft.world.World;
  23.  
  24. public class RainbowChestBlock extends BlockContainer
  25. {
  26.  
  27. public RainbowChestBlock(String name)
  28. {
  29. super(Material.PORTAL);
  30. setUnlocalizedName(name);
  31. setRegistryName(name);
  32. setCreativeTab(Main.randomideas);
  33. ModBlocks.BLOCKS.add(this);
  34. ModItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
  35. }
  36.  
  37. @Override
  38. public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
  39. {
  40. if(!worldIn.isRemote)
  41. {
  42. playerIn.openGui(Main.instance, Reference.GUI_RAINBOW_CHEST_BLOCK, worldIn, pos.getX(), pos.getY(), pos.getZ());
  43.  
  44. }
  45. return true;
  46. }
  47. @Override
  48. public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
  49. {
  50. TileEntityRainbowChestBlock tileentity = (TileEntityRainbowChestBlock)worldIn.getTileEntity(pos);
  51. InventoryHelper.dropInventoryItems(worldIn, pos, tileentity);
  52. super.breakBlock(worldIn, pos, state);
  53. }
  54. @Override
  55. public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
  56. {
  57. if(stack.hasDisplayName())
  58. {
  59. TileEntity tileentity = worldIn.getTileEntity(pos);
  60. if(tileentity instanceof TileEntityRainbowChestBlock)
  61. {
  62. ((TileEntityRainbowChestBlock)tileentity).setCustomName(stack.getDisplayName());
  63. }
  64. }
  65. }
  66. @Override
  67. public TileEntity createNewTileEntity(World worldIn, int meta)
  68. {
  69. return new TileEntityRainbowChestBlock();
  70. }
  71.  
  72. @Override
  73. public EnumBlockRenderType getRenderType(IBlockState state)
  74. {
  75. return EnumBlockRenderType.ENTITYBLOCK_ANIMATED;
  76. }
  77.  
  78. @Override
  79. public boolean isFullBlock(IBlockState state)
  80. {
  81. return false;
  82. }
  83.  
  84. @Override
  85. public boolean isFullCube(IBlockState state)
  86. {
  87. return false;
  88. }
  89.  
  90. @Override
  91. public boolean isOpaqueCube(IBlockState state)
  92. {
  93. return super.isOpaqueCube(state);
  94. }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement