Added framework for restricted EIM input, improved & cleaned up CC integration
This commit is contained in:
parent
1edec150c6
commit
b01f31a65e
4 changed files with 27 additions and 22 deletions
|
@ -48,7 +48,7 @@ public class GuiMatrixStats extends GuiMekanism
|
|||
@Override
|
||||
public double getLevel()
|
||||
{
|
||||
return tileEntity.structure.lastOutput/tileEntity.structure.outputCap;
|
||||
return tileEntity.structure.lastOutput/tileEntity.structure.transferCap;
|
||||
}
|
||||
}, MekanismUtils.getResource(ResourceType.GUI, "GuiMatrixStats.png"), 30, 13));
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ public class GuiMatrixStats extends GuiMekanism
|
|||
fontRendererObj.drawString(LangUtils.localize("gui.energy") + ":", 53, 26, 0x797979);
|
||||
fontRendererObj.drawString(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()) + "/" + MekanismUtils.getEnergyDisplay(tileEntity.getMaxEnergy()), 59, 35, 0x404040);
|
||||
fontRendererObj.drawString(LangUtils.localize("gui.output") + ":", 53, 46, 0x797979);
|
||||
fontRendererObj.drawString(MekanismUtils.getEnergyDisplay(tileEntity.structure.lastOutput) + "/" + MekanismUtils.getEnergyDisplay(tileEntity.structure.outputCap), 59, 55, 0x404040);
|
||||
fontRendererObj.drawString(MekanismUtils.getEnergyDisplay(tileEntity.structure.lastOutput) + "/" + MekanismUtils.getEnergyDisplay(tileEntity.structure.transferCap), 59, 55, 0x404040);
|
||||
|
||||
fontRendererObj.drawString(LangUtils.localize("gui.dimensions") + ":", 8, 82, 0x797979);
|
||||
fontRendererObj.drawString(tileEntity.structure.volWidth + " x " + tileEntity.structure.volHeight + " x " + tileEntity.structure.volLength, 14, 91, 0x404040);
|
||||
|
|
|
@ -87,7 +87,7 @@ public class MatrixUpdateProtocol extends UpdateProtocol<SynchronizedMatrixData>
|
|||
else if(tile instanceof TileEntityInductionProvider)
|
||||
{
|
||||
structureFound.providers.add(coord);
|
||||
structureFound.outputCap += ((TileEntityInductionProvider)tile).tier.output;
|
||||
structureFound.transferCap += ((TileEntityInductionProvider)tile).tier.output;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,12 +18,15 @@ public class SynchronizedMatrixData extends SynchronizedData<SynchronizedMatrixD
|
|||
|
||||
public Set<Coord4D> providers = new HashSet<Coord4D>();
|
||||
|
||||
public double remainingInput;
|
||||
public double lastInput;
|
||||
|
||||
public double remainingOutput;
|
||||
public double lastOutput;
|
||||
|
||||
public double clientEnergy;
|
||||
public double storageCap;
|
||||
public double outputCap;
|
||||
public double transferCap;
|
||||
|
||||
@Override
|
||||
public ItemStack[] getInventory()
|
||||
|
|
|
@ -48,8 +48,11 @@ public class TileEntityInductionCasing extends TileEntityMultiblock<Synchronized
|
|||
{
|
||||
if(structure != null && isRendering)
|
||||
{
|
||||
structure.lastOutput = structure.outputCap-structure.remainingOutput;
|
||||
structure.remainingOutput = structure.outputCap;
|
||||
structure.lastInput = structure.transferCap-structure.remainingInput;
|
||||
structure.remainingInput = structure.transferCap;
|
||||
|
||||
structure.lastOutput = structure.transferCap-structure.remainingOutput;
|
||||
structure.remainingOutput = structure.transferCap;
|
||||
|
||||
ChargeUtils.charge(0, this);
|
||||
ChargeUtils.discharge(1, this);
|
||||
|
@ -66,7 +69,8 @@ public class TileEntityInductionCasing extends TileEntityMultiblock<Synchronized
|
|||
{
|
||||
data.add(structure.getEnergy(worldObj));
|
||||
data.add(structure.storageCap);
|
||||
data.add(structure.outputCap);
|
||||
data.add(structure.transferCap);
|
||||
data.add(structure.lastInput);
|
||||
data.add(structure.lastOutput);
|
||||
|
||||
data.add(structure.volWidth);
|
||||
|
@ -89,7 +93,8 @@ public class TileEntityInductionCasing extends TileEntityMultiblock<Synchronized
|
|||
{
|
||||
structure.clientEnergy = dataStream.readDouble();
|
||||
structure.storageCap = dataStream.readDouble();
|
||||
structure.outputCap = dataStream.readDouble();
|
||||
structure.transferCap = dataStream.readDouble();
|
||||
structure.lastInput = dataStream.readDouble();
|
||||
structure.lastOutput = dataStream.readDouble();
|
||||
|
||||
structure.volWidth = dataStream.readInt();
|
||||
|
@ -168,10 +173,10 @@ public class TileEntityInductionCasing extends TileEntityMultiblock<Synchronized
|
|||
@Method(modid = "ComputerCraft")
|
||||
public String getType()
|
||||
{
|
||||
return "Mekanism-InductionMatrix";
|
||||
return "InductionMatrix";
|
||||
}
|
||||
|
||||
public static final String[] NAMES = new String[] { "getEnergyStored", "getMaxEnergyStored", "getEnergyStoredMJ", "getMaxEnergyStoredMJ", "getLastOutput", "getOutputCap" };
|
||||
public static final String[] NAMES = new String[] {"getStored", "getMaxEnergy", "getLastInput", "getLastOutput", "getTransferCap"};
|
||||
|
||||
@Override
|
||||
@Method(modid = "ComputerCraft")
|
||||
|
@ -184,28 +189,25 @@ public class TileEntityInductionCasing extends TileEntityMultiblock<Synchronized
|
|||
@Method(modid = "ComputerCraft")
|
||||
public Object[] callMethod(IComputerAccess computer, ILuaContext context, int method, Object[] arguments) throws LuaException, InterruptedException
|
||||
{
|
||||
if (structure == null)
|
||||
if(structure == null)
|
||||
{
|
||||
return new Object[] { "Unformed." };
|
||||
return new Object[] {"Unformed."};
|
||||
}
|
||||
|
||||
switch (method)
|
||||
switch(method)
|
||||
{
|
||||
case 0:
|
||||
return new Object[] { getEnergy() * general.TO_TE };
|
||||
return new Object[] {getEnergy()};
|
||||
case 1:
|
||||
return new Object[] { getMaxEnergy() * general.TO_TE };
|
||||
return new Object[] {getMaxEnergy()};
|
||||
case 2:
|
||||
return new Object[] { getEnergy() };
|
||||
return new Object[] {structure.lastInput};
|
||||
case 3:
|
||||
return new Object[] { getMaxEnergy() };
|
||||
return new Object[] {structure.lastOutput};
|
||||
case 4:
|
||||
return new Object[] { structure.lastOutput };
|
||||
case 5:
|
||||
return new Object[] { structure.outputCap };
|
||||
return new Object[] {structure.transferCap};
|
||||
default:
|
||||
Mekanism.logger.error("Attempted to call unknown method with computer ID " + computer.getID());
|
||||
return new Object[] { "Unknown command." };
|
||||
return new Object[] {"Unknown command."};
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue