aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java84
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java14
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_Container_MultiMachineEM.java18
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/gui/GT_GUIContainer_MultiMachineEM.java7
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplay.pngbin3673 -> 262950 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplayPower.pngbin262950 -> 0 bytes
6 files changed, 78 insertions, 45 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
index 984a2c2a67..f41c55e98b 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
@@ -15,6 +15,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.ForgeDirection;
+import static com.github.technus.tectech.elementalMatter.commonValues.multiCheckAt;
import static com.github.technus.tectech.thing.casing.GT_Container_CasingsTT.sBlockCasingsTT;
import static gregtech.api.GregTech_API.mEUtoRF;
@@ -49,11 +50,6 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa
}
@Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), "EMDisplayPower.png");
- }
-
- @Override
public boolean checkMachine(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) {
int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX;
int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY;
@@ -81,23 +77,51 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa
@Override
public boolean EM_checkRecipe(ItemStack itemStack) {
- if (getBaseMetaTileEntity().isAllowedToWork() && itemStack!=null && itemStack.stackSize==1) {
+ if (itemStack!=null && itemStack.stackSize==1) {
Item ofThis=itemStack.getItem();
- if(itemStack.getItem() instanceof IElectricItem){
- doChargeItemStack((IElectricItem) ofThis,itemStack);
- }else if(TecTech.hasCOFH && itemStack.getItem() instanceof IEnergyContainerItem){
- doChargeItemStackRF((IEnergyContainerItem) ofThis,itemStack);
+ if(ofThis instanceof IElectricItem){
+ mEfficiencyIncrease = 10000;
+ mMaxProgresstime = 20;
+ eDismatleBoom=true;
+ return true;
+ }else if(TecTech.hasCOFH && ofThis instanceof IEnergyContainerItem){
+ mEfficiencyIncrease = 10000;
+ mMaxProgresstime = 20;
+ eDismatleBoom=true;
+ return true;
}
- mEfficiencyIncrease = 10000;
- mMaxProgresstime = 20;
- eDismatleBoom=true;
- } else {
- mEfficiencyIncrease = 0;
- mMaxProgresstime = 0;
- eDismatleBoom=false;
}
+ mEfficiencyIncrease = 0;
+ mMaxProgresstime = 0;
+ eDismatleBoom=false;
eAmpereFlow = 0;
- return ePowerPass;
+ mEUt = 0;
+ return false;
+ }
+
+ @Override
+ public void EM_outputFunction() {
+ ItemStack itemStack=mInventory[1];
+ if (itemStack!=null && itemStack.stackSize==1) {
+ Item ofThis=itemStack.getItem();
+ if(ofThis instanceof IElectricItem){
+ if(doChargeItemStack((IElectricItem) ofThis,itemStack)==0)
+ this.getBaseMetaTileEntity().disableWorking();
+ return;
+ }else if(TecTech.hasCOFH && ofThis instanceof IEnergyContainerItem){
+ if(doChargeItemStackRF((IEnergyContainerItem) ofThis,itemStack)==0)
+ this.getBaseMetaTileEntity().disableWorking();
+ return;
+ }
+ }
+ this.getBaseMetaTileEntity().disableWorking();
+ }
+
+ @Override
+ public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ if ((aTick & 31) == 31) {
+ eSafeVoid=false;
+ }
}
@Override
@@ -111,33 +135,39 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa
};
}
- private void doChargeItemStack(IElectricItem item, ItemStack stack )
+ private long doChargeItemStack(IElectricItem item, ItemStack stack)
{
try {
double euDiff=item.getMaxCharge(stack) - ElectricItem.manager.getCharge(stack);
if(euDiff>0)this.setEUVar(this.getEUVar()-this.getEUVar()>>5);
- this.setEUVar(
- this.getEUVar()-(long)Math.ceil(
- ElectricItem.manager.charge(stack,
- Math.min(euDiff,this.getEUVar())
- ,item.getTier(stack),true,false)
- ));
+ long remove=(long)Math.ceil(
+ ElectricItem.manager.charge(stack,
+ Math.min(euDiff,this.getEUVar())
+ ,item.getTier(stack),true,false));
+ this.setEUVar(this.getEUVar()-remove);
+ if(this.getEUVar()<0)this.setEUVar(0);
+ return remove;
} catch( Exception e ) {
if(TecTech.ModConfig.DEBUG_MODE)
e.printStackTrace();
}
+ return 0;
}
- private void doChargeItemStackRF(IEnergyContainerItem item, ItemStack stack )
+ private long doChargeItemStackRF(IEnergyContainerItem item, ItemStack stack )
{
try {
long RF=Math.min(item.getMaxEnergyStored(stack)-item.getEnergyStored(stack),this.getEUVar()*mEUtoRF/100L);
//if(RF>0)this.setEUVar(this.getEUVar()-this.getEUVar()>>10);
RF=item.receiveEnergy(stack,RF>Integer.MAX_VALUE?Integer.MAX_VALUE:(int)RF,false);
- this.setEUVar(this.getEUVar()-(RF*100L/mEUtoRF));
+ RF=RF*100L/mEUtoRF;
+ this.setEUVar(this.getEUVar()-RF);
+ if(this.getEUVar()<0)this.setEUVar(0);
+ return RF;
} catch( Exception e ) {
if (TecTech.ModConfig.DEBUG_MODE)
e.printStackTrace();
}
+ return 0;
}
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java
index 8c06ceb7e6..5cc48e65dc 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java
@@ -41,11 +41,6 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo
}
@Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), "EMDisplayPower.png");
- }
-
- @Override
public boolean checkMachine(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) {
int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX;
int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY;
@@ -97,14 +92,9 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo
@Override
public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
- if ((aTick % 20) == multiCheckAt) {
- if (eSafeVoid) {
- eSafeVoid = false;
- if (aBaseMetaTileEntity.isAllowedToWork())
- aBaseMetaTileEntity.disableWorking();
- else aBaseMetaTileEntity.enableWorking();
- }
+ if ((aTick & 31) == 31) {
ePowerPass = aBaseMetaTileEntity.isAllowedToWork();
+ eSafeVoid=false;
}
}
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 25ad29c33c..dc0ba2850d 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
@@ -14,7 +14,7 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine {
public byte[] eParamsInStatus = new byte[20];//unused 0,G ok 1, B too low 2, R too high 3, Y blink dangerous 4,5
public byte[] eParamsOutStatus = new byte[20];
public byte eCertainMode = 5, eCertainStatus = 127;
- public boolean ePowerPass = false, eSafeVoid = false;
+ public boolean ePowerPass = false, eSafeVoid = false, allowedToWork = false;
public GT_Container_MultiMachineEM(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
super(aInventoryPlayer, aTileEntity);
@@ -27,8 +27,9 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine {
@Override
public void addSlots(InventoryPlayer aInventoryPlayer) {
addSlotToContainer(new Slot(mTileEntity, 1, 152, -21));
- addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 2, 152, 0, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 2, 152, 21, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 2, 152, -2, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 2, 152, 15, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 2, 152, 32, false, false, 1));
}
@Override
@@ -45,6 +46,13 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine {
case 2:
base.eSafeVoid ^= true;
break;
+ case 3:
+ if(base.getBaseMetaTileEntity().isAllowedToWork()) {
+ base.getBaseMetaTileEntity().disableWorking();
+ }else{
+ base.getBaseMetaTileEntity().enableWorking();
+ }
+ break;
}
}
return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
@@ -61,6 +69,7 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine {
this.eCertainStatus = ((GT_MetaTileEntity_MultiblockBase_EM) this.mTileEntity.getMetaTileEntity()).eCertainStatus;
this.ePowerPass = ((GT_MetaTileEntity_MultiblockBase_EM) this.mTileEntity.getMetaTileEntity()).ePowerPass;
this.eSafeVoid = ((GT_MetaTileEntity_MultiblockBase_EM) this.mTileEntity.getMetaTileEntity()).eSafeVoid;
+ this.allowedToWork = this.mTileEntity.isAllowedToWork();
for (Object crafter : this.crafters) {
ICrafting var1 = (ICrafting) crafter;
@@ -68,7 +77,7 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine {
for (int j = 0; j < eParamsInStatus.length; j++)
var1.sendProgressBarUpdate(this, i++, eParamsInStatus[j] | (eParamsOutStatus[j] << 8));
var1.sendProgressBarUpdate(this, 120, eCertainMode | (eCertainStatus << 8));
- var1.sendProgressBarUpdate(this, 121, (ePowerPass ? 1 : 0) + (eSafeVoid ? 2 : 0));
+ var1.sendProgressBarUpdate(this, 121, (ePowerPass ? 1 : 0) + (eSafeVoid ? 2 : 0) + (allowedToWork ? 4 : 0));
}
}
@@ -85,6 +94,7 @@ public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine {
} else if (par1 == 121) {
this.ePowerPass = (par2 & 1) == 1;
this.eSafeVoid = (par2 & 2) == 2;
+ this.allowedToWork = (par2 & 4) == 4;
}
}
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 2e2377e8e9..595d280c18 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
@@ -68,10 +68,13 @@ public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Mach
GL11.glColor4f(1f, 1f, 1f, 1f);
if (((GT_Container_MultiMachineEM) mContainer).ePowerPass)
- drawTexturedModalRect(x + 151, y + 25, 183, 25, 18, 18);
+ drawTexturedModalRect(x + 151, y + 23, 183, 23, 18, 18);
if (((GT_Container_MultiMachineEM) mContainer).eSafeVoid)
- drawTexturedModalRect(x + 151, y + 46, 183, 46, 18, 18);
+ drawTexturedModalRect(x + 151, y + 41, 183, 41, 18, 18);
+
+ if (((GT_Container_MultiMachineEM) mContainer).allowedToWork)
+ drawTexturedModalRect(x + 151, y + 57, 183, 57, 18, 18);
x += 11;
y += 96;
diff --git a/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplay.png b/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplay.png
index b3a8ec6b41..d613b0eee9 100644
--- a/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplay.png
+++ b/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplay.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplayPower.png b/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplayPower.png
deleted file mode 100644
index a11ebc600e..0000000000
--- a/src/main/resources/assets/gregtech/textures/gui/multimachines/EMDisplayPower.png
+++ /dev/null
Binary files differ