diff options
author | Technus <daniel112092@gmail.com> | 2017-08-26 23:34:47 +0200 |
---|---|---|
committer | Technus <daniel112092@gmail.com> | 2017-08-26 23:34:47 +0200 |
commit | f719d0610296dcc419f8befa4e65410984de3bc9 (patch) | |
tree | 042e7e19c8123346e332b62b6fd49dc1768e5b57 /src/main/java | |
parent | 5ee785bbaa42bff8ca9f21c6687bacc790722c64 (diff) | |
download | GT5-Unofficial-f719d0610296dcc419f8befa4e65410984de3bc9.tar.gz GT5-Unofficial-f719d0610296dcc419f8befa4e65410984de3bc9.tar.bz2 GT5-Unofficial-f719d0610296dcc419f8befa4e65410984de3bc9.zip |
bugfixes
Diffstat (limited to 'src/main/java')
5 files changed, 112 insertions, 64 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java index 91b933a335..df74ff604d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java @@ -82,31 +82,50 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB public boolean checkRecipe_EM(ItemStack itemStack) { eAvailableData = 0; maxTemp = 0; - short thingsActive = 0; - int rackComputation; - - for (GT_MetaTileEntity_Hatch_Rack r : eRacks) { - if (!isValidMetaTileEntity(r)) continue; - if (r.heat > maxTemp) maxTemp = r.heat; - rackComputation = r.tickComponents(eParamsIn[0], eParamsIn[10]); - if (rackComputation > 0) { - eAvailableData += rackComputation; - thingsActive += 4; + if(eParamsIn[0]>=0 && eParamsIn[10]>=0){ + float eut=V[8] * eParamsIn[10]; + if(eut<Integer.MAX_VALUE-7) + mEUt = -(int)eut; + else{ + mEUt = -(int)V[8]; + mMaxProgresstime = 0; + mEfficiencyIncrease = 0; + for (GT_MetaTileEntity_Hatch_Rack r : eRacks) + r.getBaseMetaTileEntity().setActive(false); + return false; + } + short thingsActive = 0; + int rackComputation; + + for (GT_MetaTileEntity_Hatch_Rack r : eRacks) { + if (!isValidMetaTileEntity(r)) continue; + if (r.heat > maxTemp) maxTemp = r.heat; + rackComputation = r.tickComponents(eParamsIn[0], eParamsIn[10]); + if (rackComputation > 0) { + eAvailableData += rackComputation; + thingsActive += 4; + } + r.getBaseMetaTileEntity().setActive(true); } - r.getBaseMetaTileEntity().setActive(true); - } - for (GT_MetaTileEntity_Hatch_InputData di : eInputData) - if (di.q != null)//ok for power losses - thingsActive++; - - if (thingsActive > 0 && eCertainStatus == 0) { - thingsActive += eOutputData.size(); - mEUt = -(int) (V[8] * eParamsIn[10]); - eAmpereFlow = 1 + (thingsActive >> 2); - mMaxProgresstime = 20; - mEfficiencyIncrease = 10000; - return true; + for (GT_MetaTileEntity_Hatch_InputData di : eInputData) + if (di.q != null)//ok for power losses + thingsActive++; + + if (thingsActive > 0 && eCertainStatus == 0) { + thingsActive += eOutputData.size(); + eAmpereFlow = 1 + (thingsActive >> 2); + mMaxProgresstime = 20; + mEfficiencyIncrease = 10000; + return true; + } else { + eAvailableData=0; + mEUt = -(int)V[8]; + eAmpereFlow = 1; + mMaxProgresstime = 20; + mEfficiencyIncrease = 10000; + return true; + } } mMaxProgresstime = 0; mEfficiencyIncrease = 0; @@ -122,7 +141,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void updateParameters_EM() { - if (eParamsIn[0] <= 0) + if (eParamsIn[0] < 0) eParamsInStatus[0] = PARAM_TOO_LOW; else if (eParamsIn[0] < 1) eParamsInStatus[0] = PARAM_LOW; @@ -132,7 +151,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB eParamsInStatus[0] = PARAM_HIGH; else eParamsInStatus[0] = PARAM_TOO_HIGH; - if (eParamsIn[10] <= 0.7f) + if (eParamsIn[10] < 0.7f) eParamsInStatus[10] = PARAM_TOO_LOW; else if (eParamsIn[10] < 0.8f) eParamsInStatus[10] = PARAM_LOW; @@ -184,6 +203,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void stopMachine() { super.stopMachine(); + eAvailableData=0; for (GT_MetaTileEntity_Hatch_Rack r : eRacks) r.getBaseMetaTileEntity().setActive(false); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java index 920b2ba33b..90b4fda033 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java @@ -75,7 +75,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt public final float[] eParamsOut = new float[20];//float number O to parametrizers public final byte[] eParamsInStatus = new byte[20];//LED status for I public final byte[] eParamsOutStatus = new byte[20];//LED status for O - public final static byte PARAM_UNUSED = 0, PARAM_OK = 1, PARAM_TOO_LOW = 2, PARAM_LOW = 3, PARAM_TOO_HIGH = 4, PARAM_HIGH = 5, PARAM_WRONG = 6; + public final static byte PARAM_UNUSED = 0, + PARAM_TOO_LOW = 1, PARAM_LOW = 2, + PARAM_WRONG = 3, PARAM_OK = 4, + PARAM_TOO_HIGH = 5, PARAM_HIGH = 6; + // 0,2,4,6 - ok + // 1,3,5 - nok //TO ENABLE this change value in <init> to false and/or other than 0, can also be added in recipe check or whatever public boolean eParameters = true, ePowerPass = false, eSafeVoid = false, eDismatleBoom = false; @@ -148,6 +153,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt protected void onFirstTick_EM(){} // callback on first tick + protected void notAllowedToWork_stopMachine_EM(){ + stopMachine(); + } + @Override public int getPollutionPerTick(ItemStack itemStack) { return 0; @@ -175,18 +184,18 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } float mass = 0; - if (outputEM == null) return; - for (cElementalInstanceStackMap tree : outputEM) - mass += tree.getMass(); - if (mass > 0) { - if (eMufflerHatches.size() < 1) explodeMultiblock(); - mass /= eMufflerHatches.size(); - for (GT_MetaTileEntity_Hatch_MufflerElemental dump : eMufflerHatches) { - if (dump.addOverflowMatter(mass)) explodeMultiblock(); + if (outputEM != null) { + for (cElementalInstanceStackMap tree : outputEM) + mass += tree.getMass(); + if (mass > 0) { + if (eMufflerHatches.size() < 1) explodeMultiblock(); + mass /= eMufflerHatches.size(); + for (GT_MetaTileEntity_Hatch_MufflerElemental dump : eMufflerHatches) { + if (dump.addOverflowMatter(mass)) explodeMultiblock(); + } } + outputEM = null; } - outputEM = null; - hatchesStatusUpdate_EM(); } @@ -618,9 +627,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mEfficiency = Math.max(0, Math.min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - ((getIdealStatus() - getRepairStatus()) * 1000))); } updateSlots(); - }// else {//not allowed to work - // stopMachine(); - //} + } else notAllowedToWork_stopMachine_EM(); } }// else {//failed to consume power/resources - inside on running tick // stopMachine(); @@ -631,11 +638,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mEfficiency = Math.max(0, Math.min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - ((getIdealStatus() - getRepairStatus()) * 1000))); } updateSlots(); - }// else {//not allowed to work - // stopMachine(); - //} + } else notAllowedToWork_stopMachine_EM(); } + //region power pass {//DO ONCE long euVar; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { @@ -673,10 +679,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } } } + //endregion } else {//not repaired stopMachine(); } - } else {//not machine + } else {//not complete stopMachine(); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_Container_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_Container_MultiMachineEM.java index e104829340..ec359a0a49 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_Container_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_Container_MultiMachineEM.java @@ -15,13 +15,23 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { public byte[] eParamsOutStatus = new byte[20]; public byte eCertainMode = 5, eCertainStatus = 127; public boolean ePowerPass = false, eSafeVoid = false, allowedToWork = false; + public final boolean ePowerPassButton, eSafeVoidButton, allowedToWorkButton; + + public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean enablePowerPass, boolean enableSafeVoid, boolean enablePowerButton) { + super(aInventoryPlayer, aTileEntity); + ePowerPassButton=enablePowerPass; + eSafeVoidButton=enableSafeVoid; + allowedToWorkButton=enablePowerButton; + } public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); + ePowerPassButton=eSafeVoidButton=allowedToWorkButton=true; } public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, boolean bindInventory) { super(aInventoryPlayer, aTileEntity, bindInventory); + ePowerPassButton=eSafeVoidButton=allowedToWorkButton=true; } @Override @@ -41,16 +51,18 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { GT_MetaTileEntity_MultiblockBase_EM base = (GT_MetaTileEntity_MultiblockBase_EM) this.mTileEntity.getMetaTileEntity(); switch (aSlotIndex) { case 1: - base.ePowerPass ^= true; + if(ePowerPassButton) base.ePowerPass ^= true; break; case 2: - base.eSafeVoid ^= true; + if(eSafeVoidButton) base.eSafeVoid ^= true; break; case 3: - if (base.getBaseMetaTileEntity().isAllowedToWork()) { - base.getBaseMetaTileEntity().disableWorking(); - } else { - base.getBaseMetaTileEntity().enableWorking(); + if(allowedToWorkButton) { + if (base.getBaseMetaTileEntity().isAllowedToWork()) { + base.getBaseMetaTileEntity().disableWorking(); + } else { + base.getBaseMetaTileEntity().enableWorking(); + } } break; } @@ -62,7 +74,7 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine { public void detectAndSendChanges() { super.detectAndSendChanges(); if ((this.mTileEntity.isClientSide()) || (this.mTileEntity.getMetaTileEntity() == null) || (this.eParamsInStatus == null)) - return;//INTELLIJ IS TALKING BULLSHIT HERE IT CAN BE NULL!!! + return; this.eParamsInStatus = ((GT_MetaTileEntity_MultiblockBase_EM) this.mTileEntity.getMetaTileEntity()).eParamsInStatus; this.eParamsOutStatus = ((GT_MetaTileEntity_MultiblockBase_EM) this.mTileEntity.getMetaTileEntity()).eParamsOutStatus; this.eCertainMode = ((GT_MetaTileEntity_MultiblockBase_EM) this.mTileEntity.getMetaTileEntity()).eCertainMode; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_GUIContainer_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_GUIContainer_MultiMachineEM.java index 08f97832dd..e1b4c2775c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_GUIContainer_MultiMachineEM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_GUIContainer_MultiMachineEM.java @@ -5,6 +5,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; import org.lwjgl.opengl.GL11; +import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_MultiblockBase_EM.*; import static gregtech.api.enums.GT_Values.RES_PATH_GUI; /** @@ -13,7 +14,7 @@ import static gregtech.api.enums.GT_Values.RES_PATH_GUI; public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Machine { String mName = ""; - private static byte cntr = 0; + private static byte counter = 0; public GT_GUIContainer_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) { super(new GT_Container_MultiMachineEM(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "multimachines/" + (aTextureFile == null ? "MultiblockDisplay" : aTextureFile)); @@ -64,7 +65,7 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach y -= 26; drawTexturedModalRect(x, y, 0, 0, xSize, ySize + 26); if (this.mContainer != null && ((GT_Container_MultiMachineEM) this.mContainer).eParamsInStatus != null) { - cntr = (byte) ((1 + cntr) % 6); + counter = (byte) ((1 + counter) % 6); GL11.glColor4f(1f, 1f, 1f, 1f); if (((GT_Container_MultiMachineEM) mContainer).ePowerPass) @@ -132,7 +133,7 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach rU + ((state & 8) == 0 ? 44 : 12), Vs + 12, 6, 6); break; - case 5://xox ooo xox + case 5://xox oxo xox drawTexturedModalRect(x, y, rU + ((state & 1) == 0 ? 32 : 0), Vs, 6, 6); @@ -156,31 +157,31 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach private void LEDdrawP(int x, int y, int i, int j, byte status) { final int v = 192, su = 8, sv = 6, u = 11; switch (status) { - case 6: - if (cntr < 2) { + case PARAM_WRONG: + if (counter < 2) { drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); break; - } else if (cntr < 4) { + } else if (counter < 4) { drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); break; } - case 1://ok + case PARAM_OK://ok drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (4 + j), su, sv); break; - case 2://too low blink - if (cntr < 3) { + case PARAM_TOO_LOW://too low blink + if (counter < 3) { drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * j, su, sv); break; } - case 3:// too low + case PARAM_LOW:// too low drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (2 + j), su, sv); break; - case 4://too high blink - if (cntr < 3) { + case PARAM_TOO_HIGH://too high blink + if (counter < 3) { drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (8 + j), su, sv); break; } - case 5:// too high + case PARAM_HIGH:// too high drawTexturedModalRect(x + su * i, y + sv * j, u + su * i, v + sv * (6 + j), su, sv); break; } diff --git a/src/main/java/openmodularturrets/entity/projectiles/projectileEM.java b/src/main/java/openmodularturrets/entity/projectiles/projectileEM.java index 8400915ad2..ba9eb00dd9 100644 --- a/src/main/java/openmodularturrets/entity/projectiles/projectileEM.java +++ b/src/main/java/openmodularturrets/entity/projectiles/projectileEM.java @@ -27,8 +27,16 @@ public class projectileEM extends TurretProjectile { private float massFactor; - public projectileEM(World par1World, TurretBase turretBase, cElementalInstanceStackMap avalableEM) { + public projectileEM(World par1World) { super(par1World); + } + + public projectileEM(World par1World, TurretBase turretBase) { + super(par1World, turretBase); + } + + public projectileEM(World par1World, TurretBase turretBase, cElementalInstanceStackMap avalableEM) { + super(par1World, turretBase); this.turretBase = turretBase; boolean onlyQuarks=true; if(avalableEM!=null && avalableEM.hasStacks()) { |