2015-07-15 00:19:44 +02:00
|
|
|
package cofh.api.energy;
|
|
|
|
|
|
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
|
|
import net.minecraft.tileentity.TileEntity;
|
2016-01-07 23:42:42 +01:00
|
|
|
import net.minecraft.util.EnumFacing;
|
2015-07-15 00:19:44 +02:00
|
|
|
|
|
|
|
/**
|
2016-02-16 21:49:44 +01:00
|
|
|
* Reference implementation of {@link IEnergyReceiver} and {@link IEnergyProvider}. Use/extend this or implement your own.
|
|
|
|
*
|
|
|
|
* This class is really meant to summarize how each interface is properly used.
|
2015-07-15 00:19:44 +02:00
|
|
|
*
|
|
|
|
* @author King Lemming
|
|
|
|
*
|
|
|
|
*/
|
2016-02-16 21:49:44 +01:00
|
|
|
public class TileEnergyHandler extends TileEntity implements IEnergyReceiver, IEnergyProvider {
|
2015-07-15 00:19:44 +02:00
|
|
|
|
|
|
|
protected EnergyStorage storage = new EnergyStorage(32000);
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void readFromNBT(NBTTagCompound nbt) {
|
|
|
|
|
|
|
|
super.readFromNBT(nbt);
|
|
|
|
storage.readFromNBT(nbt);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void writeToNBT(NBTTagCompound nbt) {
|
|
|
|
|
|
|
|
super.writeToNBT(nbt);
|
|
|
|
storage.writeToNBT(nbt);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* IEnergyConnection */
|
|
|
|
@Override
|
2016-01-07 23:42:42 +01:00
|
|
|
public boolean canConnectEnergy(EnumFacing from) {
|
2015-07-15 00:19:44 +02:00
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* IEnergyReceiver */
|
|
|
|
@Override
|
2016-01-07 23:42:42 +01:00
|
|
|
public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) {
|
2015-07-15 00:19:44 +02:00
|
|
|
|
|
|
|
return storage.receiveEnergy(maxReceive, simulate);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* IEnergyProvider */
|
|
|
|
@Override
|
2016-01-07 23:42:42 +01:00
|
|
|
public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) {
|
2015-07-15 00:19:44 +02:00
|
|
|
|
|
|
|
return storage.extractEnergy(maxExtract, simulate);
|
|
|
|
}
|
|
|
|
|
2016-02-16 21:49:44 +01:00
|
|
|
/* IEnergyHandler */
|
2015-07-15 00:19:44 +02:00
|
|
|
@Override
|
2016-01-07 23:42:42 +01:00
|
|
|
public int getEnergyStored(EnumFacing from) {
|
2015-07-15 00:19:44 +02:00
|
|
|
|
|
|
|
return storage.getEnergyStored();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2016-01-07 23:42:42 +01:00
|
|
|
public int getMaxEnergyStored(EnumFacing from) {
|
2015-07-15 00:19:44 +02:00
|
|
|
|
|
|
|
return storage.getMaxEnergyStored();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|