Advertisement
Guest User

TileEntityBlockExpContainer

a guest
Feb 28th, 2016
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.28 KB | None | 0 0
  1. package net.theviolentsquirrels.questsystem.tileentity;
  2.  
  3. import net.minecraft.entity.player.EntityPlayer;
  4. import net.minecraft.entity.player.EntityPlayerMP;
  5. import net.minecraft.nbt.NBTTagCompound;
  6. import net.minecraft.network.NetworkManager;
  7. import net.minecraft.network.Packet;
  8. import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
  9. import net.minecraft.tileentity.TileEntity;
  10. import net.minecraftforge.fml.common.FMLLog;
  11.  
  12. public class                TileEntityBlockExpContainer extends TileEntity {
  13.     private int             experienceTotal;
  14.  
  15.     @Override
  16.     public void             writeToNBT(NBTTagCompound compound) {
  17.         super.writeToNBT(compound);
  18.         compound.setInteger("experienceTotal", this.experienceTotal);
  19.     }
  20.  
  21.     @Override
  22.     public void             readFromNBT(NBTTagCompound compound) {
  23.         super.readFromNBT(compound);
  24.         this.experienceTotal = compound.getInteger("experienceTotal");
  25.     }
  26.  
  27.     public boolean          drainExperienceFromPlayer(EntityPlayer playerIn) {
  28.         if (!this.worldObj.isRemote && playerIn instanceof EntityPlayerMP) {
  29.             EntityPlayerMP  playerMP;
  30.  
  31.             playerMP = (EntityPlayerMP) playerIn;
  32.             if (playerMP.experienceTotal > 0) {
  33.                 this.experienceTotal += playerMP.experienceTotal;
  34.                 playerMP.experienceTotal = 0;
  35.                 playerMP.experienceLevel = 0;
  36.                 playerMP.experience = 0.0f;
  37.             } else return (false);
  38.         }
  39.         return (true);
  40.     }
  41.  
  42.     public int              getExperienceTotal() {
  43.         return (this.experienceTotal);
  44.     }
  45.  
  46.     public void             setExperienceTotal(int experienceTotal) {
  47.         this.experienceTotal = experienceTotal;
  48.     }
  49.  
  50.     @Override
  51.     public void             onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
  52.         super.onDataPacket(net, pkt);
  53.         this.readFromNBT(pkt.getNbtCompound());
  54.     }
  55.  
  56.     @Override
  57.     public Packet           getDescriptionPacket() {
  58.         NBTTagCompound      compound = new NBTTagCompound();
  59.         int                 metadata;
  60.  
  61.         this.writeToNBT(compound);
  62.         metadata = this.getBlockMetadata();
  63.         return (new S35PacketUpdateTileEntity(this.pos, metadata, compound));
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement