aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-08-26 23:34:47 +0200
committerTechnus <daniel112092@gmail.com>2017-08-26 23:35:15 +0200
commitb85a7a1adf606a765e5bdc945ca56e1a6fce04bb (patch)
treedaa6ebdbbd6a27f0791ccd15b5ff3489eb8ba857 /src/main
parentf3bf4b8332052223d7de89154f757e9bcbb92ef7 (diff)
downloadGT5-Unofficial-b85a7a1adf606a765e5bdc945ca56e1a6fce04bb.tar.gz
GT5-Unofficial-b85a7a1adf606a765e5bdc945ca56e1a6fce04bb.tar.bz2
GT5-Unofficial-b85a7a1adf606a765e5bdc945ca56e1a6fce04bb.zip
bugfixes
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java70
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java43
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_Container_MultiMachineEM.java26
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_GUIContainer_MultiMachineEM.java27
-rw-r--r--src/main/java/openmodularturrets/entity/projectiles/projectileEM.java10
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()) {