package gtPlusPlus.api.interfaces; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import gregtech.api.interfaces.IDescribable; import gregtech.api.interfaces.tileentity.*; public abstract interface IGregtechPower extends IGearEnergyTileEntity, ITurnable, IGregTechDeviceInformation, IDescribable, IBasicEnergyContainer { @Override public String[] getDescription(); @Override default boolean isUniversalEnergyStored(long p0) { return false; } @Override public long getOutputAmperage(); @Override public long getOutputVoltage(); @Override public long getInputAmperage(); @Override public long getInputVoltage(); @Override public boolean decreaseStoredEnergyUnits(long p0, boolean p1); @Override public boolean increaseStoredEnergyUnits(long p0, boolean p1); @Override public boolean drainEnergyUnits(byte p0, long p1, long p2); @Override public long getAverageElectricInput(); @Override public long getAverageElectricOutput(); @Override public long getStoredEU(); @Override public long getEUCapacity(); @Override public long getStoredSteam(); @Override public long getSteamCapacity(); @Override public boolean increaseStoredSteam(long p0, boolean p1); @Override public Block getBlockAtSide(byte p0); @Override public Block getBlockAtSideAndDistance(byte p0, int p1); @Override public Block getBlockOffset(int p0, int p1, int p2); @Override public TileEntity getTileEntity(int p0, int p1, int p2); @Override public TileEntity getTileEntityAtSide(byte p0); @Override public TileEntity getTileEntityAtSideAndDistance(byte p0, int p1); @Override public TileEntity getTileEntityOffset(int p0, int p1, int p2); @Override public World getWorld(); @Override public int getXCoord(); @Override public short getYCoord(); @Override public int getZCoord(); @Override public boolean isClientSide(); @Override public boolean isDead(); @Override public boolean isInvalidTileEntity(); @Override public boolean isServerSide(); @Override public void readFromNBT(NBTTagCompound p0); @Override public void writeToNBT(NBTTagCompound p0); @Override public boolean acceptsRotationalEnergy(byte p0); @Override public boolean injectRotationalEnergy(byte p0, long p1, long p2); @Override public long injectEnergyUnits(byte p0, long p1, long p2); @Override public boolean inputEnergyFrom(byte p0); @Override public boolean outputsEnergyTo(byte p0); @Override public String[] getInfoData(); @Override default public boolean isGivingInformation() { return true; } /* boolean onPreTick(TilePoweredGT tilePoweredGT, long mTickTimer2); boolean onTick(TilePoweredGT iGregTechTileEntity, long mTickTimer2); boolean onPostTick(TilePoweredGT iGregTechTileEntity, long mTickTimer2);*/ }