Advertisement
Guest User

Untitled

a guest
Sep 30th, 2014
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.90 KB | None | 0 0
  1. package ShadoTECH.TileEntity;
  2.  
  3. import java.util.List;
  4.  
  5. import ic2.api.energy.event.EnergyTileLoadEvent;
  6. import ic2.api.energy.event.EnergyTileUnloadEvent;
  7. import ic2.api.energy.tile.IEnergySink;
  8. import ic2.api.energy.tile.IEnergySource;
  9. import ic2.api.energy.tile.IEnergyTile;
  10. import ic2.api.network.INetworkDataProvider;
  11. import ic2.api.network.INetworkUpdateListener;
  12. import ic2.api.tile.IWrenchable;
  13. import net.minecraft.entity.player.EntityPlayer;
  14. import net.minecraft.item.ItemStack;
  15. import net.minecraft.nbt.NBTTagCompound;
  16. import net.minecraft.tileentity.TileEntity;
  17. import net.minecraftforge.common.MinecraftForge;
  18. import net.minecraftforge.common.util.ForgeDirection;
  19. import cofh.api.energy.*;
  20.  
  21. public class TileEntity_Energy_Converter extends TileEntity implements IEnergySink, IEnergyHandler
  22. {
  23.     public double energy = 0.0D;
  24.     public double maxEnergy = 10000.0D;
  25.     private boolean init;
  26.     private int eu_rf = 3;
  27.    
  28.     public void readFromNBT(NBTTagCompound tag)
  29.     {
  30.         super.readFromNBT(tag);
  31.         if(tag.hasKey("energy"))
  32.         {
  33.             this.energy = tag.getDouble("energy");
  34.         }
  35.     }
  36.    
  37.     public void writeToNBT(NBTTagCompound tag)
  38.     {
  39.         super.writeToNBT(tag);
  40.         tag.setDouble("energy", this.energy);
  41.     }
  42.    
  43.     @Override
  44.     public void updateEntity()
  45.     {
  46.         if(!init && worldObj != null)
  47.         {
  48.             if(!worldObj.isRemote)
  49.             {
  50.                 EnergyTileLoadEvent loadEvent = new EnergyTileLoadEvent(this);
  51.                 MinecraftForge.EVENT_BUS.post(loadEvent);
  52.             }
  53.             init = true;
  54.         }
  55.     }
  56.    
  57.     @Override
  58.     public void invalidate()
  59.     {
  60.         EnergyTileUnloadEvent unloadEvent = new EnergyTileUnloadEvent(this);
  61.         MinecraftForge.EVENT_BUS.post(unloadEvent);    
  62.     }
  63.    
  64.     @Override
  65.     public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction)
  66.     {
  67.         return true;
  68.     }
  69.  
  70.     @Override
  71.     public double getDemandedEnergy()
  72.     {
  73.         return this.maxEnergy - this.energy;
  74.     }
  75.  
  76.     @Override
  77.     public int getSinkTier()
  78.     {
  79.         return 3;
  80.     }
  81.  
  82.     @Override
  83.     public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage)
  84.     {
  85.         if(this.energy >= this.maxEnergy) return amount;
  86.         double openEnergy = this.maxEnergy - this.energy;
  87.         if(openEnergy >= amount)
  88.         {
  89.             this.energy += amount;
  90.             return 0.0D;
  91.         }
  92.         else if(amount > openEnergy)
  93.         {
  94.             this.energy = this.maxEnergy;
  95.             return amount - openEnergy;
  96.         }
  97.         return 0;
  98.     }
  99.  
  100.     //RF
  101.     @Override
  102.     public boolean canConnectEnergy(ForgeDirection from)
  103.     {
  104.         return true;
  105.     }
  106.  
  107.     @Override
  108.     public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate)
  109.     {
  110.         if(this.energy < 0) this.energy = 0;
  111.         return 200;
  112.     }
  113.  
  114.     @Override
  115.     public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate)
  116.     {
  117.         return 0;
  118.     }
  119.  
  120.     @Override
  121.     public int getEnergyStored(ForgeDirection from)
  122.     {
  123.         return (int) this.energy;
  124.     }
  125.  
  126.     @Override
  127.     public int getMaxEnergyStored(ForgeDirection from)
  128.     {
  129.         return (int) this.maxEnergy;
  130.     }
  131.     //RF
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement