reduced the difference between IC2's wires and IndustrialWires's cables to prevent machines from blowing up when they shouldn't
(There are still differences in some cases, but it works in most cases) added a "credits" file
This commit is contained in:
parent
ca41e82576
commit
0e613d05b8
2 changed files with 23 additions and 4 deletions
|
@ -56,8 +56,10 @@ public class TileEntityIC2ConnectorTin extends TileEntityImmersiveConnectable im
|
||||||
boolean first = true;
|
boolean first = true;
|
||||||
//IC2 net to IE net buffer
|
//IC2 net to IE net buffer
|
||||||
double inBuffer = 0;
|
double inBuffer = 0;
|
||||||
|
double maxToNet = 0;
|
||||||
//IE net to IC2 net buffer
|
//IE net to IC2 net buffer
|
||||||
double outBuffer = 0;
|
double outBuffer = 0;
|
||||||
|
double maxToMachine = 0;
|
||||||
double maxStored = IC2Wiretype.IC2_TYPES[0].getTransferRate()/8;
|
double maxStored = IC2Wiretype.IC2_TYPES[0].getTransferRate()/8;
|
||||||
int tier = 1;
|
int tier = 1;
|
||||||
public TileEntityIC2ConnectorTin(boolean rel) {
|
public TileEntityIC2ConnectorTin(boolean rel) {
|
||||||
|
@ -77,11 +79,12 @@ public class TileEntityIC2ConnectorTin extends TileEntityImmersiveConnectable im
|
||||||
public void transferPower() {
|
public void transferPower() {
|
||||||
Set<AbstractConnection> conns = new HashSet<>(ImmersiveNetHandler.INSTANCE.getIndirectEnergyConnections(pos, worldObj));
|
Set<AbstractConnection> conns = new HashSet<>(ImmersiveNetHandler.INSTANCE.getIndirectEnergyConnections(pos, worldObj));
|
||||||
Map<AbstractConnection, Pair<IIC2Connector, Double>> maxOutputs = new HashMap<>();
|
Map<AbstractConnection, Pair<IIC2Connector, Double>> maxOutputs = new HashMap<>();
|
||||||
|
double outputMax = Math.min(inBuffer, maxToNet);
|
||||||
double sum = 0;
|
double sum = 0;
|
||||||
for (AbstractConnection c:conns) {
|
for (AbstractConnection c:conns) {
|
||||||
IImmersiveConnectable iic = ApiUtils.toIIC(c.end, worldObj);
|
IImmersiveConnectable iic = ApiUtils.toIIC(c.end, worldObj);
|
||||||
if (iic instanceof IIC2Connector) {
|
if (iic instanceof IIC2Connector) {
|
||||||
double tmp = inBuffer-((IIC2Connector)iic).insertEnergy(inBuffer, true);
|
double tmp = inBuffer-((IIC2Connector)iic).insertEnergy(outputMax, true);
|
||||||
if (tmp>.00000001) {
|
if (tmp>.00000001) {
|
||||||
maxOutputs.put(c, new ImmutablePair<>((IIC2Connector)iic, tmp));
|
maxOutputs.put(c, new ImmutablePair<>((IIC2Connector)iic, tmp));
|
||||||
sum+=tmp;
|
sum+=tmp;
|
||||||
|
@ -91,7 +94,7 @@ public class TileEntityIC2ConnectorTin extends TileEntityImmersiveConnectable im
|
||||||
if (sum<.0001) {
|
if (sum<.0001) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final double oldInBuf = inBuffer;
|
final double oldInBuf = outputMax;
|
||||||
HashMap<Connection, Integer> transferedPerConn = ImmersiveNetHandler.INSTANCE.getTransferedRates(worldObj.provider.getDimension());
|
HashMap<Connection, Integer> transferedPerConn = ImmersiveNetHandler.INSTANCE.getTransferedRates(worldObj.provider.getDimension());
|
||||||
for (AbstractConnection c:maxOutputs.keySet()) {
|
for (AbstractConnection c:maxOutputs.keySet()) {
|
||||||
Pair<IIC2Connector, Double> p = maxOutputs.get(c);
|
Pair<IIC2Connector, Double> p = maxOutputs.get(c);
|
||||||
|
@ -123,9 +126,18 @@ public class TileEntityIC2ConnectorTin extends TileEntityImmersiveConnectable im
|
||||||
}
|
}
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
//Input through the net
|
||||||
@Override
|
@Override
|
||||||
public double insertEnergy(double eu, boolean simulate) {
|
public double insertEnergy(double eu, boolean simulate) {
|
||||||
double insert = Math.min(maxStored-outBuffer, eu);
|
final double insert = Math.min(maxStored-outBuffer, eu);
|
||||||
|
if (insert>0) {
|
||||||
|
if (outBuffer<maxToMachine) {
|
||||||
|
maxToMachine = outBuffer;
|
||||||
|
}
|
||||||
|
if (eu>maxToMachine) {
|
||||||
|
maxToMachine = eu;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!simulate) {
|
if (!simulate) {
|
||||||
outBuffer+=insert;
|
outBuffer+=insert;
|
||||||
}
|
}
|
||||||
|
@ -204,7 +216,13 @@ public class TileEntityIC2ConnectorTin extends TileEntityImmersiveConnectable im
|
||||||
@Override
|
@Override
|
||||||
public double injectEnergy(EnumFacing directionFrom, double amount, double voltage) {
|
public double injectEnergy(EnumFacing directionFrom, double amount, double voltage) {
|
||||||
if (inBuffer<maxStored) {
|
if (inBuffer<maxStored) {
|
||||||
|
if (inBuffer<maxToNet) {
|
||||||
|
maxToNet = inBuffer;
|
||||||
|
}
|
||||||
inBuffer += amount;
|
inBuffer += amount;
|
||||||
|
if (amount>maxToNet) {
|
||||||
|
maxToNet = amount;
|
||||||
|
}
|
||||||
markDirty();
|
markDirty();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -213,7 +231,7 @@ public class TileEntityIC2ConnectorTin extends TileEntityImmersiveConnectable im
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getOfferedEnergy() {
|
public double getOfferedEnergy() {
|
||||||
return outBuffer;
|
return Math.min(maxToMachine, outBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
**Chinese translation**: SihenZhang (Proofread by 3TUSK)
|
Loading…
Reference in a new issue