Extract battery interface into IBatteryObject
This commit is contained in:
parent
6ffd45f3d7
commit
bed9b59b0e
11 changed files with 137 additions and 59 deletions
|
@ -16,6 +16,9 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class JavaTools {
|
public class JavaTools {
|
||||||
|
public static double bounds(double value, double min, double max) {
|
||||||
|
return Math.max(min, Math.min(value, max));
|
||||||
|
}
|
||||||
|
|
||||||
public static <T> T[] concat(T[] first, T[] second) {
|
public static <T> T[] concat(T[] first, T[] second) {
|
||||||
T[] result = Arrays.copyOf(first, first.length + second.length);
|
T[] result = Arrays.copyOf(first, first.length + second.length);
|
||||||
|
|
78
api/buildcraft/api/mj/IBatteryObject.java
Normal file
78
api/buildcraft/api/mj/IBatteryObject.java
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
/**
|
||||||
|
* Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team
|
||||||
|
* http://www.mod-buildcraft.com
|
||||||
|
*
|
||||||
|
* BuildCraft is distributed under the terms of the Minecraft Mod Public
|
||||||
|
* License 1.0, or MMPL. Please check the contents of the license located in
|
||||||
|
* http://www.mod-buildcraft.com/MMPL-1.0.txt
|
||||||
|
*/
|
||||||
|
package buildcraft.api.mj;
|
||||||
|
|
||||||
|
public interface IBatteryObject {
|
||||||
|
/**
|
||||||
|
* @return Current energy requirement for keeping machine state
|
||||||
|
*/
|
||||||
|
double getEnergyRequested();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add energy to this battery
|
||||||
|
*
|
||||||
|
* @param mj Energy amount
|
||||||
|
* @return Used energy
|
||||||
|
*/
|
||||||
|
double addEnergy(double mj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add energy to this battery
|
||||||
|
*
|
||||||
|
* @param mj Energy amount
|
||||||
|
* @param ignoreCycleLimit Force add all energy even if "maxReceivedPerCycle" limit is reached
|
||||||
|
* @return Used energy
|
||||||
|
*/
|
||||||
|
double addEnergy(double mj, boolean ignoreCycleLimit);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Current stored energy amount in this battery
|
||||||
|
*/
|
||||||
|
double getEnergyStored();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set current stored energy amount.
|
||||||
|
* Doesn't use it for your machines! Decrease your battery field directly.
|
||||||
|
*
|
||||||
|
* @param mj New energy amount
|
||||||
|
*/
|
||||||
|
void setEnergyStored(double mj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Can be overrided via {@link #reconfigure(double, double, double)}
|
||||||
|
*
|
||||||
|
* @return Maximal energy amount for this battery.
|
||||||
|
*/
|
||||||
|
double maxCapacity();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Can be overrided via {@link #reconfigure(double, double, double)}
|
||||||
|
*
|
||||||
|
* @return Minimal energy amount for keep your machine in active state
|
||||||
|
*/
|
||||||
|
double minimumConsumption();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Can be overrided via {@link #reconfigure(double, double, double)}
|
||||||
|
*
|
||||||
|
* @return Maximal energy received per one tick
|
||||||
|
*/
|
||||||
|
double maxReceivedPerCycle();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allow to dynamically reconfigure your battery.
|
||||||
|
* Usually it's not very good change battery parameters for already present machines, but if you want...
|
||||||
|
*
|
||||||
|
* @param maxCapacity {@link #maxCapacity()}
|
||||||
|
* @param maxReceivedPerCycle {@link #maxReceivedPerCycle()}
|
||||||
|
* @param minimumConsumption {@link #minimumConsumption()}
|
||||||
|
* @return Current battery object instance
|
||||||
|
*/
|
||||||
|
IBatteryObject reconfigure(final double maxCapacity, final double maxReceivedPerCycle, final double minimumConsumption);
|
||||||
|
}
|
13
api/buildcraft/api/mj/IBatteryProvider.java
Normal file
13
api/buildcraft/api/mj/IBatteryProvider.java
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
/**
|
||||||
|
* Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team
|
||||||
|
* http://www.mod-buildcraft.com
|
||||||
|
*
|
||||||
|
* BuildCraft is distributed under the terms of the Minecraft Mod Public
|
||||||
|
* License 1.0, or MMPL. Please check the contents of the license located in
|
||||||
|
* http://www.mod-buildcraft.com/MMPL-1.0.txt
|
||||||
|
*/
|
||||||
|
package buildcraft.api.mj;
|
||||||
|
|
||||||
|
public interface IBatteryProvider {
|
||||||
|
IBatteryObject getMjBattery();
|
||||||
|
}
|
|
@ -28,23 +28,18 @@ public final class MjAPI {
|
||||||
BatteryKind kind;
|
BatteryKind kind;
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface IBatteryProvider {
|
public static class BatteryObject implements IBatteryObject {
|
||||||
BatteryObject getMjBattery();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class BatteryObject {
|
|
||||||
private Field f;
|
private Field f;
|
||||||
private Object o;
|
private Object o;
|
||||||
private MjBattery b;
|
private MjBattery b;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Current energy requirement for keeping machine state
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public double getEnergyRequested() {
|
public double getEnergyRequested() {
|
||||||
try {
|
try {
|
||||||
double contained = f.getDouble(o);
|
return JavaTools.bounds(b.maxCapacity() - f.getDouble(o), b.minimumConsumption(), b.maxReceivedPerCycle());
|
||||||
double max = b.maxCapacity();
|
|
||||||
return Math.max(Math.min(max - contained, b.maxReceivedPerCycle()), b.minimumConsumption());
|
|
||||||
} catch (IllegalAccessException e) {
|
} catch (IllegalAccessException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -52,22 +47,17 @@ public final class MjAPI {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add energy to this battery
|
* {@inheritDoc}
|
||||||
*
|
|
||||||
* @param mj Energy amount
|
|
||||||
* @return Used energy
|
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public double addEnergy(double mj) {
|
public double addEnergy(double mj) {
|
||||||
return addEnergy(mj, false);
|
return addEnergy(mj, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add energy to this battery
|
* {@inheritDoc}
|
||||||
*
|
|
||||||
* @param mj Energy amount
|
|
||||||
* @param ignoreCycleLimit Force add all energy even if "maxReceivedPerCycle" limit is reached
|
|
||||||
* @return Used energy
|
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public double addEnergy(double mj, boolean ignoreCycleLimit) {
|
public double addEnergy(double mj, boolean ignoreCycleLimit) {
|
||||||
try {
|
try {
|
||||||
double contained = f.getDouble(o);
|
double contained = f.getDouble(o);
|
||||||
|
@ -88,8 +78,9 @@ public final class MjAPI {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Current stored energy amount in this battery
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public double getEnergyStored() {
|
public double getEnergyStored() {
|
||||||
try {
|
try {
|
||||||
return f.getDouble(o);
|
return f.getDouble(o);
|
||||||
|
@ -100,11 +91,9 @@ public final class MjAPI {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set current stored energy amount.
|
* {@inheritDoc}
|
||||||
* Doesn't use it for your machines! Decrease your battery field directly.
|
|
||||||
*
|
|
||||||
* @param mj New energy amount
|
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void setEnergyStored(double mj) {
|
public void setEnergyStored(double mj) {
|
||||||
try {
|
try {
|
||||||
f.setDouble(o, mj);
|
f.setDouble(o, mj);
|
||||||
|
@ -114,41 +103,33 @@ public final class MjAPI {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Can be overrided via {@link #reconfigure(double, double, double)}
|
* {@inheritDoc}
|
||||||
*
|
|
||||||
* @return Maximal energy amount for this battery.
|
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public double maxCapacity() {
|
public double maxCapacity() {
|
||||||
return b.maxCapacity();
|
return b.maxCapacity();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Can be overrided via {@link #reconfigure(double, double, double)}
|
* {@inheritDoc}
|
||||||
*
|
|
||||||
* @return Minimal energy amount for keep your machine in active state
|
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public double minimumConsumption() {
|
public double minimumConsumption() {
|
||||||
return b.minimumConsumption();
|
return b.minimumConsumption();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Can be overrided via {@link #reconfigure(double, double, double)}
|
* {@inheritDoc}
|
||||||
*
|
|
||||||
* @return Maximal energy received per one tick
|
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public double maxReceivedPerCycle() {
|
public double maxReceivedPerCycle() {
|
||||||
return b.maxReceivedPerCycle();
|
return b.maxReceivedPerCycle();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allow to dynamically reconfigure your battery.
|
* {@inheritDoc}
|
||||||
* Usually it's not very good change battery parameters for already present machines, but if you want...
|
|
||||||
*
|
|
||||||
* @param maxCapacity {@link #maxCapacity()}
|
|
||||||
* @param maxReceivedPerCycle {@link #maxReceivedPerCycle()}
|
|
||||||
* @param minimumConsumption {@link #minimumConsumption()}
|
|
||||||
* @return Current battery object instance
|
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public BatteryObject reconfigure(final double maxCapacity, final double maxReceivedPerCycle, final double minimumConsumption) {
|
public BatteryObject reconfigure(final double maxCapacity, final double maxReceivedPerCycle, final double minimumConsumption) {
|
||||||
b = new MjBattery() {
|
b = new MjBattery() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -181,13 +162,13 @@ public final class MjAPI {
|
||||||
private MjAPI() {
|
private MjAPI() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static BatteryObject getMjBattery(Object o) {
|
public static IBatteryObject getMjBattery(Object o) {
|
||||||
if (o == null) {
|
if (o == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (o instanceof IBatteryProvider) {
|
if (o instanceof IBatteryProvider) {
|
||||||
BatteryObject battery = ((IBatteryProvider) o).getMjBattery();
|
IBatteryObject battery = ((IBatteryProvider) o).getMjBattery();
|
||||||
if (battery != null) {
|
if (battery != null) {
|
||||||
return battery;
|
return battery;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ public class MjAPILegacy implements IPowerReceptor {
|
||||||
private final PowerHandler powerHandler;
|
private final PowerHandler powerHandler;
|
||||||
private final World world;
|
private final World world;
|
||||||
|
|
||||||
protected MjAPILegacy(World world, MjAPI.BatteryObject battery, PowerHandler.Type type) {
|
protected MjAPILegacy(World world, IBatteryObject battery, PowerHandler.Type type) {
|
||||||
if (battery == null) {
|
if (battery == null) {
|
||||||
throw new NullPointerException();
|
throw new NullPointerException();
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ public class MjAPILegacy implements IPowerReceptor {
|
||||||
this.powerHandler = new PowerHandler(this, type, battery);
|
this.powerHandler = new PowerHandler(this, type, battery);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MjAPILegacy from(World world, MjAPI.BatteryObject battery, PowerHandler.Type type) {
|
public static MjAPILegacy from(World world, IBatteryObject battery, PowerHandler.Type type) {
|
||||||
return new MjAPILegacy(world, battery, type);
|
return new MjAPILegacy(world, battery, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,8 +40,8 @@ public class MjAPILegacy implements IPowerReceptor {
|
||||||
return new MjAPILegacy(tileEntity.getWorldObj(), battery(tileEntity), type);
|
return new MjAPILegacy(tileEntity.getWorldObj(), battery(tileEntity), type);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static MjAPI.BatteryObject battery(Object object) {
|
private static IBatteryObject battery(Object object) {
|
||||||
MjAPI.BatteryObject battery = MjAPI.getMjBattery(object);
|
IBatteryObject battery = MjAPI.getMjBattery(object);
|
||||||
if (battery == null) {
|
if (battery == null) {
|
||||||
throw new IllegalArgumentException(String.format("Object %s not using MjAPI, can't create legacy wrapper", object));
|
throw new IllegalArgumentException(String.format("Object %s not using MjAPI, can't create legacy wrapper", object));
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,8 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
import buildcraft.api.core.SafeTimeTracker;
|
import buildcraft.api.core.SafeTimeTracker;
|
||||||
|
import buildcraft.api.mj.IBatteryObject;
|
||||||
|
import buildcraft.api.mj.IBatteryProvider;
|
||||||
import buildcraft.api.mj.MjAPI;
|
import buildcraft.api.mj.MjAPI;
|
||||||
import buildcraft.api.mj.MjBattery;
|
import buildcraft.api.mj.MjBattery;
|
||||||
|
|
||||||
|
@ -32,7 +34,7 @@ import buildcraft.api.mj.MjBattery;
|
||||||
* @see IPowerReceptor
|
* @see IPowerReceptor
|
||||||
* @see IPowerEmitter
|
* @see IPowerEmitter
|
||||||
*/
|
*/
|
||||||
public final class PowerHandler implements MjAPI.IBatteryProvider {
|
public final class PowerHandler implements IBatteryProvider {
|
||||||
|
|
||||||
public static enum Type {
|
public static enum Type {
|
||||||
|
|
||||||
|
@ -132,7 +134,7 @@ public final class PowerHandler implements MjAPI.IBatteryProvider {
|
||||||
private PerditionCalculator perdition;
|
private PerditionCalculator perdition;
|
||||||
private final PowerReceiver receiver;
|
private final PowerReceiver receiver;
|
||||||
private final Type type;
|
private final Type type;
|
||||||
private MjAPI.BatteryObject battery;
|
private IBatteryObject battery;
|
||||||
// Tracking
|
// Tracking
|
||||||
private double averageLostPower = 0;
|
private double averageLostPower = 0;
|
||||||
private double averageReceivedPower = 0;
|
private double averageReceivedPower = 0;
|
||||||
|
@ -148,7 +150,7 @@ public final class PowerHandler implements MjAPI.IBatteryProvider {
|
||||||
this.receiver = new PowerReceiver();
|
this.receiver = new PowerReceiver();
|
||||||
this.perdition = DEFAULT_PERDITION;
|
this.perdition = DEFAULT_PERDITION;
|
||||||
|
|
||||||
if (battery instanceof MjAPI.BatteryObject) {
|
if (battery instanceof IBatteryObject) {
|
||||||
this.battery = (MjAPI.BatteryObject) battery;
|
this.battery = (MjAPI.BatteryObject) battery;
|
||||||
} else if (battery != null) {
|
} else if (battery != null) {
|
||||||
this.battery = MjAPI.getMjBattery(battery);
|
this.battery = MjAPI.getMjBattery(battery);
|
||||||
|
@ -182,7 +184,7 @@ public final class PowerHandler implements MjAPI.IBatteryProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MjAPI.BatteryObject getMjBattery() {
|
public IBatteryObject getMjBattery() {
|
||||||
return battery;
|
return battery;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ import net.minecraft.util.ChatComponentText;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
import buildcraft.api.core.NetworkData;
|
import buildcraft.api.core.NetworkData;
|
||||||
|
import buildcraft.api.mj.IBatteryObject;
|
||||||
import buildcraft.api.mj.MjAPI;
|
import buildcraft.api.mj.MjAPI;
|
||||||
import buildcraft.api.mj.MjBattery;
|
import buildcraft.api.mj.MjBattery;
|
||||||
import buildcraft.api.power.IPowerReceptor;
|
import buildcraft.api.power.IPowerReceptor;
|
||||||
|
@ -121,7 +122,7 @@ public class TileEnergyConverter extends TileBuildCraft implements IPowerRecepto
|
||||||
if (tile instanceof TileEnergyConverter) {
|
if (tile instanceof TileEnergyConverter) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
MjAPI.BatteryObject object = MjAPI.getMjBattery(tile);
|
IBatteryObject object = MjAPI.getMjBattery(tile);
|
||||||
if (object != null && mjStored > 0) {
|
if (object != null && mjStored > 0) {
|
||||||
double wantToUse = Math.min(mjStored, object.getEnergyRequested());
|
double wantToUse = Math.min(mjStored, object.getEnergyRequested());
|
||||||
object.addEnergy(wantToUse);
|
object.addEnergy(wantToUse);
|
||||||
|
|
|
@ -14,8 +14,8 @@ import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
|
import buildcraft.api.mj.IBatteryObject;
|
||||||
import buildcraft.api.mj.MjAPI;
|
import buildcraft.api.mj.MjAPI;
|
||||||
import buildcraft.api.mj.MjAPI.BatteryObject;
|
|
||||||
import buildcraft.api.power.IPowerEmitter;
|
import buildcraft.api.power.IPowerEmitter;
|
||||||
import buildcraft.api.power.IPowerReceptor;
|
import buildcraft.api.power.IPowerReceptor;
|
||||||
import buildcraft.api.power.PowerHandler;
|
import buildcraft.api.power.PowerHandler;
|
||||||
|
@ -74,7 +74,7 @@ public class TileEnergyReceiver extends TileBuildCraft implements IPipeConnectio
|
||||||
energyStored = 0;
|
energyStored = 0;
|
||||||
}
|
}
|
||||||
} else if (tile != null) {
|
} else if (tile != null) {
|
||||||
BatteryObject battery = MjAPI.getMjBattery(tile);
|
IBatteryObject battery = MjAPI.getMjBattery(tile);
|
||||||
|
|
||||||
if (battery != null) {
|
if (battery != null) {
|
||||||
battery.addEnergy(energyStored);
|
battery.addEnergy(energyStored);
|
||||||
|
|
|
@ -22,8 +22,8 @@ import buildcraft.BuildCraftEnergy;
|
||||||
import buildcraft.api.core.NetworkData;
|
import buildcraft.api.core.NetworkData;
|
||||||
import buildcraft.api.gates.IOverrideDefaultTriggers;
|
import buildcraft.api.gates.IOverrideDefaultTriggers;
|
||||||
import buildcraft.api.gates.ITrigger;
|
import buildcraft.api.gates.ITrigger;
|
||||||
|
import buildcraft.api.mj.IBatteryObject;
|
||||||
import buildcraft.api.mj.MjAPI;
|
import buildcraft.api.mj.MjAPI;
|
||||||
import buildcraft.api.mj.MjAPI.BatteryObject;
|
|
||||||
import buildcraft.api.power.IPowerEmitter;
|
import buildcraft.api.power.IPowerEmitter;
|
||||||
import buildcraft.api.power.IPowerReceptor;
|
import buildcraft.api.power.IPowerReceptor;
|
||||||
import buildcraft.api.power.PowerHandler;
|
import buildcraft.api.power.PowerHandler;
|
||||||
|
@ -307,7 +307,7 @@ public abstract class TileEngine extends TileBuildCraft implements IPowerRecepto
|
||||||
extractEnergy(receptor.getMinEnergyReceived(), needed, true);
|
extractEnergy(receptor.getMinEnergyReceived(), needed, true);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
BatteryObject battery = MjAPI.getMjBattery(tile);
|
IBatteryObject battery = MjAPI.getMjBattery(tile);
|
||||||
|
|
||||||
battery.addEnergy(extractEnergy(0, battery.maxReceivedPerCycle(),
|
battery.addEnergy(extractEnergy(0, battery.maxReceivedPerCycle(),
|
||||||
true));
|
true));
|
||||||
|
|
|
@ -21,8 +21,8 @@ import buildcraft.BuildCraftCore;
|
||||||
import buildcraft.BuildCraftTransport;
|
import buildcraft.BuildCraftTransport;
|
||||||
import buildcraft.api.core.SafeTimeTracker;
|
import buildcraft.api.core.SafeTimeTracker;
|
||||||
import buildcraft.api.gates.ITrigger;
|
import buildcraft.api.gates.ITrigger;
|
||||||
|
import buildcraft.api.mj.IBatteryObject;
|
||||||
import buildcraft.api.mj.MjAPI;
|
import buildcraft.api.mj.MjAPI;
|
||||||
import buildcraft.api.mj.MjAPI.BatteryObject;
|
|
||||||
import buildcraft.api.power.IPowerEmitter;
|
import buildcraft.api.power.IPowerEmitter;
|
||||||
import buildcraft.api.power.IPowerReceptor;
|
import buildcraft.api.power.IPowerReceptor;
|
||||||
import buildcraft.api.power.PowerHandler.PowerReceiver;
|
import buildcraft.api.power.PowerHandler.PowerReceiver;
|
||||||
|
@ -202,7 +202,7 @@ public class PipeTransportPower extends PipeTransport {
|
||||||
internalPower[i] -= watts;
|
internalPower[i] -= watts;
|
||||||
} else if (tiles[j] != null) {
|
} else if (tiles[j] != null) {
|
||||||
// Look for the simplified power framework
|
// Look for the simplified power framework
|
||||||
BatteryObject battery = MjAPI.getMjBattery(tiles [j]);
|
IBatteryObject battery = MjAPI.getMjBattery(tiles [j]);
|
||||||
|
|
||||||
if (battery != null) {
|
if (battery != null) {
|
||||||
watts = (internalPower[i] / totalPowerQuery)
|
watts = (internalPower[i] / totalPowerQuery)
|
||||||
|
@ -250,7 +250,7 @@ public class PipeTransportPower extends PipeTransport {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tile != null) {
|
if (tile != null) {
|
||||||
BatteryObject battery = MjAPI.getMjBattery(tile);
|
IBatteryObject battery = MjAPI.getMjBattery(tile);
|
||||||
|
|
||||||
if (battery != null) {
|
if (battery != null) {
|
||||||
requestEnergy(dir, battery.getEnergyRequested());
|
requestEnergy(dir, battery.getEnergyRequested());
|
||||||
|
|
|
@ -17,8 +17,8 @@ import buildcraft.BuildCraftTransport;
|
||||||
import buildcraft.api.gates.GateExpansionController;
|
import buildcraft.api.gates.GateExpansionController;
|
||||||
import buildcraft.api.gates.IAction;
|
import buildcraft.api.gates.IAction;
|
||||||
import buildcraft.api.gates.IGateExpansion;
|
import buildcraft.api.gates.IGateExpansion;
|
||||||
|
import buildcraft.api.mj.IBatteryObject;
|
||||||
import buildcraft.api.mj.MjAPI;
|
import buildcraft.api.mj.MjAPI;
|
||||||
import buildcraft.api.mj.MjAPI.BatteryObject;
|
|
||||||
import buildcraft.transport.TileGenericPipe;
|
import buildcraft.transport.TileGenericPipe;
|
||||||
import buildcraft.transport.triggers.ActionEnergyPulsar;
|
import buildcraft.transport.triggers.ActionEnergyPulsar;
|
||||||
import buildcraft.transport.triggers.ActionSingleEnergyPulse;
|
import buildcraft.transport.triggers.ActionSingleEnergyPulse;
|
||||||
|
@ -97,7 +97,7 @@ public final class GateExpansionPulsar extends GateExpansionBuildcraft implement
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BatteryObject battery = MjAPI.getMjBattery(pipeTile);
|
IBatteryObject battery = MjAPI.getMjBattery(pipeTile);
|
||||||
|
|
||||||
if (battery != null && (!singlePulse || !hasPulsed)) {
|
if (battery != null && (!singlePulse || !hasPulsed)) {
|
||||||
((TileGenericPipe) pipeTile).pipe.gate.setPulsing(true);
|
((TileGenericPipe) pipeTile).pipe.gate.setPulsing(true);
|
||||||
|
|
Loading…
Reference in a new issue