Advertisement
Guest User

Untitled

a guest
Mar 25th, 2020
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.20 KB | None | 0 0
  1. package com.aiko.cenamicolmod.items;
  2.  
  3. import com.aiko.cenamicolmod.CenamicolMain;
  4.  
  5. import com.aiko.cenamicolmod.init.ModBlocks;
  6. import com.aiko.cenamicolmod.te.TileEntityAnvil;
  7. import net.minecraft.block.BlockContainer;
  8. import net.minecraft.block.material.Material;
  9. import net.minecraft.block.state.IBlockState;
  10. import net.minecraft.entity.EntityLivingBase;
  11. import net.minecraft.entity.player.EntityPlayer;
  12. import net.minecraft.inventory.InventoryHelper;
  13. import net.minecraft.item.ItemStack;
  14. import net.minecraft.tileentity.TileEntity;
  15. import net.minecraft.util.EnumBlockRenderType;
  16. import net.minecraft.util.EnumFacing;
  17. import net.minecraft.util.EnumHand;
  18. import net.minecraft.util.math.BlockPos;
  19. import net.minecraft.world.World;
  20.  
  21.  
  22. public class AnvilBlock extends BlockContainer {
  23.  
  24.     public AnvilBlock(String name, Material materialIn) {
  25.         super(materialIn);
  26.         setRegistryName(name).setUnlocalizedName(name);
  27.         setCreativeTab(CenamicolMain.modtabs );
  28.  
  29.         ModBlocks.INSTANCE.getBlocks().add(this);
  30.     }
  31.  
  32.     public AnvilBlock(String name, Material materialIn, float hardness, float resistance) {
  33.         this(name, materialIn);
  34.  
  35.         setHardness(hardness);
  36.         setResistance(resistance);
  37.     }
  38.  
  39.     public AnvilBlock(String name, Material materialIn, float hardness, float resistance, int harvestLevel, String harvestType) {
  40.         this(name, materialIn, hardness, resistance);
  41.  
  42.         setHarvestLevel(harvestType, harvestLevel);
  43.         //0 -> Bois, 1 -> Pierre, 2 -> Fer, 3 -> Diamant
  44.     }
  45.  
  46.     @Override
  47.     public boolean hasTileEntity() {
  48.         return true;
  49.     }
  50.  
  51.     @Override
  52.     public TileEntity createNewTileEntity(World world, int metadata)  {
  53.         return new TileEntityAnvil();
  54.     }
  55.  
  56.     @Override
  57.     public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
  58.         TileEntity tileentity = worldIn.getTileEntity(pos);
  59.  
  60.         if (tileentity instanceof TileEntityAnvil) {
  61.             InventoryHelper.dropInventoryItems(worldIn, pos, (TileEntityAnvil) tileentity);
  62.         }
  63.  
  64.         super.breakBlock(worldIn, pos, state);
  65.     }
  66.  
  67.     @Override
  68.     public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
  69.         if (world.isRemote) {
  70.             return true;
  71.         } else {
  72.             TileEntity tileentity = world.getTileEntity(pos);
  73.  
  74.             if (tileentity instanceof TileEntityAnvil) {
  75.                 player.openGui(ModBlocks.INSTANCE, 0, world, pos.getX(), pos.getY(), pos.getZ());
  76.             }
  77.  
  78.             return true;
  79.         }
  80.     }
  81.  
  82.     @Override
  83.     public EnumBlockRenderType getRenderType(IBlockState state) {
  84.         return EnumBlockRenderType.MODEL;
  85.     }
  86.  
  87.     @Override
  88.     public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) {
  89.         if (stack.hasDisplayName()) {
  90.             TileEntity tileentity = worldIn.getTileEntity(pos);
  91.  
  92.             if (tileentity instanceof TileEntityAnvil) {
  93.                 ((TileEntityAnvil) tileentity).setCustomName(stack.getDisplayName());
  94.             }
  95.         }
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement