Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. package com.artillect.voltaics.tileentity;
  2.  
  3. import com.artillect.voltaics.capability.JouleCapabilities;
  4. import com.artillect.voltaics.lib.JouleUtils;
  5. import com.artillect.voltaics.power.implementation.BaseJouleContainer;
  6.  
  7. import net.minecraft.client.renderer.texture.ITickable;
  8. import net.minecraft.nbt.NBTTagCompound;
  9. import net.minecraft.tileentity.TileEntity;
  10. import net.minecraft.util.EnumFacing;
  11. import net.minecraftforge.common.capabilities.Capability;
  12.  
  13. public class TileEntityInductor extends TileEntity implements ITickable {
  14.  
  15. private BaseJouleContainer container;
  16.  
  17. public TileEntityInductor() {
  18. this.container = new BaseJouleContainer(0, 1000, 50, 50);
  19. }
  20.  
  21. @Override
  22. public void readFromNBT(NBTTagCompound compound) {
  23. super.readFromNBT(compound);
  24. this.container = new BaseJouleContainer(compound.getCompoundTag("JouleContainer"));
  25. }
  26.  
  27. @Override
  28. public NBTTagCompound writeToNBT(NBTTagCompound compound) {
  29. compound.setTag("JouleContainer", this.container.serializeNBT());
  30. return super.writeToNBT(compound);
  31. }
  32.  
  33. @Override
  34. @SuppressWarnings("unchecked")
  35. public <T> T getCapability (Capability<T> capability, EnumFacing facing) {
  36.  
  37. if (capability == JouleCapabilities.CAPABILITY_CONSUMER || capability == JouleCapabilities.CAPABILITY_HOLDER)
  38. return (T) this.container;
  39.  
  40. return super.getCapability(capability, facing);
  41. }
  42.  
  43. @Override
  44. public boolean hasCapability (Capability<?> capability, EnumFacing facing) {
  45.  
  46. if (capability == JouleCapabilities.CAPABILITY_CONSUMER || capability == JouleCapabilities.CAPABILITY_HOLDER)
  47. return true;
  48.  
  49. return super.hasCapability(capability, facing);
  50. }
  51.  
  52. public void update() {
  53. this.container.givePower(JouleUtils.consumePowerFromAllFaces(this.getWorld(), pos, this.container.getInputRate(), false), false);
  54.  
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement