Moved our energy net to doubles, should be all done(now need to test), added eu to rf conversion
This commit is contained in:
parent
78faca7a19
commit
30ff429b6a
3 changed files with 88 additions and 18 deletions
|
@ -8,20 +8,20 @@ public interface IEnergyInterfaceTile {
|
||||||
*
|
*
|
||||||
* @return Amount of energy in the tile
|
* @return Amount of energy in the tile
|
||||||
*/
|
*/
|
||||||
public int getEnergy();
|
public double getEnergy();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the energy in the tile
|
* Sets the energy in the tile
|
||||||
*
|
*
|
||||||
* @param energy the amount of energy to set.
|
* @param energy the amount of energy to set.
|
||||||
*/
|
*/
|
||||||
public void setEnergy(int energy);
|
public void setEnergy(double energy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the max stored energy in the tile
|
* Gets the max stored energy in the tile
|
||||||
* @return The max energy
|
* @return The max energy
|
||||||
*/
|
*/
|
||||||
public int getMaxPower();
|
public double getMaxPower();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -29,7 +29,7 @@ public interface IEnergyInterfaceTile {
|
||||||
*
|
*
|
||||||
* @return will return true if can fit all
|
* @return will return true if can fit all
|
||||||
*/
|
*/
|
||||||
public boolean canAddEnergy(int energy);
|
public boolean canAddEnergy(double energy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -39,7 +39,7 @@ public interface IEnergyInterfaceTile {
|
||||||
*
|
*
|
||||||
* @return The amount of energy that was added.
|
* @return The amount of energy that was added.
|
||||||
*/
|
*/
|
||||||
public int addEnergy(int energy);
|
public double addEnergy(double energy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -49,7 +49,7 @@ public interface IEnergyInterfaceTile {
|
||||||
*
|
*
|
||||||
* @return The amount of energy that was added.
|
* @return The amount of energy that was added.
|
||||||
*/
|
*/
|
||||||
public int addEnergy(int energy, boolean simulate);
|
public double addEnergy(double energy, boolean simulate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if it can use the full amount of energy
|
* Returns true if it can use the full amount of energy
|
||||||
|
@ -58,7 +58,7 @@ public interface IEnergyInterfaceTile {
|
||||||
*
|
*
|
||||||
* @return if all the energy can be used.
|
* @return if all the energy can be used.
|
||||||
*/
|
*/
|
||||||
public boolean canUseEnergy(int energy);
|
public boolean canUseEnergy(double energy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Will try and use the full amount of energy
|
* Will try and use the full amount of energy
|
||||||
|
@ -67,7 +67,7 @@ public interface IEnergyInterfaceTile {
|
||||||
*
|
*
|
||||||
* @return the amount of energy used
|
* @return the amount of energy used
|
||||||
*/
|
*/
|
||||||
public int useEnergy(int energy);
|
public double useEnergy(double energy);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -77,7 +77,7 @@ public interface IEnergyInterfaceTile {
|
||||||
*
|
*
|
||||||
* @return the amount of energy used
|
* @return the amount of energy used
|
||||||
*/
|
*/
|
||||||
public int useEnergy(int energy, boolean simulate);
|
public double useEnergy(double energy, boolean simulate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -99,12 +99,13 @@ public interface IEnergyInterfaceTile {
|
||||||
*
|
*
|
||||||
* @return the max amount of energy outputted per tick.
|
* @return the max amount of energy outputted per tick.
|
||||||
*/
|
*/
|
||||||
public int getMaxOutput();
|
public double getMaxOutput();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return -1 if you don't want to accept power ever.
|
* Return -1 if you don't want to accept power ever.
|
||||||
*
|
*
|
||||||
* @return The max amount of energy that can be added to the tile in one tick.
|
* @return The max amount of energy that can be added to the tile in one tick.
|
||||||
*/
|
*/
|
||||||
public int getMaxInput();
|
public double getMaxInput();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,4 +5,6 @@ public class PowerSystem {
|
||||||
public static boolean RFPOWENET = true;
|
public static boolean RFPOWENET = true;
|
||||||
|
|
||||||
public static boolean EUPOWENET = true;
|
public static boolean EUPOWENET = true;
|
||||||
|
|
||||||
|
public static double euPerRF = 0.2; // 5eu = 1rf? //TODO
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,8 +30,9 @@ public abstract class TilePowerAcceptor extends TileMachineBase implements
|
||||||
IEnergyTile, IEnergySink, IEnergySource //Ic2
|
IEnergyTile, IEnergySink, IEnergySource //Ic2
|
||||||
{
|
{
|
||||||
public int tier;
|
public int tier;
|
||||||
private int energy;
|
private double energy;
|
||||||
public final TileEntity parent;
|
public final TileEntity parent;
|
||||||
|
public int maxEnergy;
|
||||||
|
|
||||||
public TilePowerAcceptor(int tier, TileEntity parent) {
|
public TilePowerAcceptor(int tier, TileEntity parent) {
|
||||||
this.tier = tier;
|
this.tier = tier;
|
||||||
|
@ -160,21 +161,21 @@ public abstract class TilePowerAcceptor extends TileMachineBase implements
|
||||||
if (!canAcceptEnergy(from)) {
|
if (!canAcceptEnergy(from)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return addEnergy(maxReceive, simulate);
|
return (int) ((int) addEnergy(maxReceive, simulate) * PowerSystem.euPerRF);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getEnergyStored(ForgeDirection from) {
|
public int getEnergyStored(ForgeDirection from) {
|
||||||
if (!PowerSystem.RFPOWENET)
|
if (!PowerSystem.RFPOWENET)
|
||||||
return 0;
|
return 0;
|
||||||
return getEnergy();
|
return (int) ((int) getEnergy() * PowerSystem.euPerRF);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMaxEnergyStored(ForgeDirection from) {
|
public int getMaxEnergyStored(ForgeDirection from) {
|
||||||
if (!PowerSystem.RFPOWENET)
|
if (!PowerSystem.RFPOWENET)
|
||||||
return 0;
|
return 0;
|
||||||
return getMaxPower();
|
return (int) ((int) getMaxPower() * PowerSystem.euPerRF);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -184,22 +185,88 @@ public abstract class TilePowerAcceptor extends TileMachineBase implements
|
||||||
if (!canAcceptEnergy(from)) {
|
if (!canAcceptEnergy(from)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return useEnergy(maxExtract, simulate);
|
return (int) ((int) useEnergy(maxExtract, simulate) * PowerSystem.euPerRF);
|
||||||
}
|
}
|
||||||
//END COFH
|
//END COFH
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//TechReborn
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getEnergy() {
|
||||||
|
return energy;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnergy(double energy) {
|
||||||
|
this.energy = energy;
|
||||||
|
|
||||||
|
if (this.energy > getMaxPower()) {
|
||||||
|
this.energy = getMaxPower();
|
||||||
|
} else if (this.energy < 0) {
|
||||||
|
this.energy = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getMaxPower() {
|
||||||
|
return maxEnergy;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double addEnergy(double energy) {
|
||||||
|
return addEnergy(energy, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double addEnergy(double energy, boolean simulate) {
|
||||||
|
double energyReceived = Math.min(getMaxPower() - energy, Math.min(this.getMaxPower(), energy));
|
||||||
|
|
||||||
|
if (!simulate) {
|
||||||
|
this.energy += energyReceived;
|
||||||
|
}
|
||||||
|
return energyReceived;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canUseEnergy(double energy) {
|
||||||
|
return this.energy >= energy;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double useEnergy(double energy) {
|
||||||
|
return useEnergy(energy, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double useEnergy(double energy, boolean simulate) {
|
||||||
|
double energyExtracted = Math.min(energy, Math.min(this.getMaxOutput(), energy));
|
||||||
|
|
||||||
|
if (!simulate) {
|
||||||
|
this.energy -= energyExtracted;
|
||||||
|
}
|
||||||
|
return energyExtracted;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canAddEnergy(double energy) {
|
||||||
|
return this.energy + energy <= getMaxPower();
|
||||||
|
}
|
||||||
|
|
||||||
|
//TechReborn END
|
||||||
@Override
|
@Override
|
||||||
public void readFromNBT(NBTTagCompound tag) {
|
public void readFromNBT(NBTTagCompound tag) {
|
||||||
super.readFromNBT(tag);
|
super.readFromNBT(tag);
|
||||||
NBTTagCompound data = tag.getCompoundTag("TilePowerAcceptor");
|
NBTTagCompound data = tag.getCompoundTag("TilePowerAcceptor");
|
||||||
energy = data.getInteger("energy");
|
energy = data.getDouble("energy");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writeToNBT(NBTTagCompound tag) {
|
public void writeToNBT(NBTTagCompound tag) {
|
||||||
super.writeToNBT(tag);
|
super.writeToNBT(tag);
|
||||||
NBTTagCompound data = new NBTTagCompound();
|
NBTTagCompound data = new NBTTagCompound();
|
||||||
data.setInteger("energy", energy);
|
data.setDouble("energy", energy);
|
||||||
tag.setTag("TilePowerAcceptor", data);
|
tag.setTag("TilePowerAcceptor", data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue