Guest User

BlockExpContainer

a guest
Feb 28th, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.26 KB | None | 0 0
  1. package net.theviolentsquirrels.questsystem.block;
  2.  
  3. import net.minecraft.block.Block;
  4. import net.minecraft.block.material.Material;
  5. import net.minecraft.block.state.IBlockState;
  6. import net.minecraft.entity.EntityLivingBase;
  7. import net.minecraft.entity.player.EntityPlayer;
  8. import net.minecraft.item.ItemStack;
  9. import net.minecraft.tileentity.TileEntity;
  10. import net.minecraft.util.BlockPos;
  11. import net.minecraft.util.ChatComponentText;
  12. import net.minecraft.util.EnumFacing;
  13. import net.minecraft.world.World;
  14. import net.theviolentsquirrels.questsystem.Main;
  15. import net.theviolentsquirrels.questsystem.tileentity.TileEntityBlockExpContainer;
  16.  
  17. public class                                BlockExpContainer extends Block {
  18.  
  19.     public                                  BlockExpContainer(String unlocalizedName) {
  20.         super (Material.glass);
  21.         this.setUnlocalizedName(unlocalizedName);
  22.         this.setCreativeTab(Main.tab);
  23.         this.setHardness(0.3f);
  24.         this.setResistance(1.5f);
  25.     }
  26.  
  27.     @Override
  28.     public boolean                          hasTileEntity(IBlockState state) {
  29.         return (true);
  30.     }
  31.  
  32.     @Override
  33.     public TileEntity                       createTileEntity(World world, IBlockState state) {
  34.         return (new TileEntityBlockExpContainer());
  35.     }
  36.  
  37.     @Override
  38.     public void                             onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state,
  39.                                                             EntityLivingBase placer, ItemStack stack) {
  40.         if (!worldIn.isRemote) {
  41.             TileEntity                      tileEntity;
  42.  
  43.             tileEntity = worldIn.getTileEntity(pos);
  44.             if (tileEntity != null && tileEntity instanceof TileEntityBlockExpContainer) {
  45.                 TileEntityBlockExpContainer tileEntityBlockExpContainer;
  46.  
  47.                 tileEntityBlockExpContainer = (TileEntityBlockExpContainer) tileEntity;
  48.                 tileEntityBlockExpContainer.setExperienceTotal(0);
  49.             }
  50.         }
  51.     }
  52.  
  53.     @Override
  54.     public boolean                          onBlockActivated(World worldIn, BlockPos pos, IBlockState state,
  55.                                                              EntityPlayer playerIn, EnumFacing side,
  56.                                                              float hitX, float hitY, float hitZ) {
  57.         ChatComponentText                   text;
  58.  
  59.         if (!worldIn.isRemote) {
  60.             TileEntity                      tileEntity;
  61.             boolean                         result;
  62.  
  63.             tileEntity = worldIn.getTileEntity(pos);
  64.             if (tileEntity != null && tileEntity instanceof TileEntityBlockExpContainer) {
  65.                 TileEntityBlockExpContainer tileEntityBlockExpContainer;
  66.  
  67.                 tileEntityBlockExpContainer = (TileEntityBlockExpContainer) tileEntity;
  68.                 result = tileEntityBlockExpContainer.drainExperienceFromPlayer(playerIn);
  69.                 if (!result) playerIn.addChatMessage(new ChatComponentText("Could not drain experience from player"));
  70.                 text = new ChatComponentText("Experience total is " + tileEntityBlockExpContainer.getExperienceTotal());
  71.                 playerIn.addChatMessage(text);
  72.             }
  73.         }
  74.         return (true);
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment