diff options
author | Dimach <dimach2142@gmail.com> | 2017-03-15 04:51:15 +0200 |
---|---|---|
committer | Dimach <dimach2142@gmail.com> | 2017-03-15 04:51:15 +0200 |
commit | 76e82ed3553cedb2c9ebef4cf033472925e4caf1 (patch) | |
tree | 1bcf13a358936c672714c5eeb9622cae4c2283ff /src | |
parent | d7203bccbde715d006783615c4c05a646d58ccaa (diff) | |
download | GT5-Unofficial-76e82ed3553cedb2c9ebef4cf033472925e4caf1.tar.gz GT5-Unofficial-76e82ed3553cedb2c9ebef4cf033472925e4caf1.tar.bz2 GT5-Unofficial-76e82ed3553cedb2c9ebef4cf033472925e4caf1.zip |
Implement #292.
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/common/gui/GT_Container_Regulator.java | 16 | ||||
-rw-r--r-- | src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java | 34 | ||||
-rw-r--r-- | src/main/resources/assets/gregtech/textures/gui/Regulator.png | bin | 4041 -> 1986 bytes |
3 files changed, 41 insertions, 9 deletions
diff --git a/src/main/java/gregtech/common/gui/GT_Container_Regulator.java b/src/main/java/gregtech/common/gui/GT_Container_Regulator.java index 3e8f9402ca..c9e51ecb81 100644 --- a/src/main/java/gregtech/common/gui/GT_Container_Regulator.java +++ b/src/main/java/gregtech/common/gui/GT_Container_Regulator.java @@ -36,6 +36,8 @@ public class GT_Container_Regulator addSlotToContainer(new Slot(this.mTileEntity, 7, 26, 42));
addSlotToContainer(new Slot(this.mTileEntity, 8, 44, 42));
+ addSlotToContainer(new Slot(this.mTileEntity, 19, 44, 63));
+
addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 9, 64, 7, false, true, 1));
addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 10, 81, 7, false, true, 1));
addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 11, 98, 7, false, true, 1));
@@ -60,7 +62,7 @@ public class GT_Container_Regulator }
public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) {
- if (aSlotIndex < 9) {
+ if (aSlotIndex < 10) {
return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
}
Slot tSlot = (Slot) this.inventorySlots.get(aSlotIndex);
@@ -68,7 +70,7 @@ public class GT_Container_Regulator if (this.mTileEntity.getMetaTileEntity() == null) {
return null;
}
- if (aSlotIndex == 27) {
+ if (aSlotIndex == 28) {
((GT_MetaTileEntity_Regulator) this.mTileEntity.getMetaTileEntity()).bOutput = (!((GT_MetaTileEntity_Regulator) this.mTileEntity.getMetaTileEntity()).bOutput);
if (((GT_MetaTileEntity_Regulator) this.mTileEntity.getMetaTileEntity()).bOutput) {
GT_Utility.sendChatToPlayer(aPlayer, "Emit Energy to Outputside");
@@ -77,7 +79,7 @@ public class GT_Container_Regulator }
return null;
}
- if ((aSlotIndex < 18)) {
+ if ((aSlotIndex < 19)) {
ItemStack tStack = aPlayer.inventory.getItemStack();
if (tStack != null) {
tSlot.putStack(GT_Utility.copy(new Object[]{tStack}));
@@ -96,8 +98,8 @@ public class GT_Container_Regulator }
return null;
}
- if ((aSlotIndex < 27)) {
- ((GT_MetaTileEntity_Regulator) this.mTileEntity.getMetaTileEntity()).mTargetSlots[(aSlotIndex - 18)] = Math.min(99, Math.max(0, ((GT_MetaTileEntity_Regulator) this.mTileEntity.getMetaTileEntity()).mTargetSlots[(aSlotIndex - 18)] + (aMouseclick == 0 ? -1 : 1) * (aShifthold == 0 ? 1 : 16)));
+ if ((aSlotIndex < 28)) {
+ ((GT_MetaTileEntity_Regulator) this.mTileEntity.getMetaTileEntity()).mTargetSlots[(aSlotIndex - 19)] = Math.min(99, Math.max(0, ((GT_MetaTileEntity_Regulator) this.mTileEntity.getMetaTileEntity()).mTargetSlots[(aSlotIndex - 19)] + (aMouseclick == 0 ? -1 : 1) * (aShifthold == 0 ? 1 : 16)));
return null;
}
}
@@ -156,10 +158,10 @@ public class GT_Container_Regulator }
public int getSlotCount() {
- return 9;
+ return 10;
}
public int getShiftClickSlotCount() {
- return 9;
+ return 10;
}
}
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java index 3a89b8c82e..04930ae54b 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java @@ -18,9 +18,10 @@ import java.util.Arrays; public class GT_MetaTileEntity_Regulator
extends GT_MetaTileEntity_Buffer {
public int[] mTargetSlots = {0, 0, 0, 0, 0, 0, 0, 0, 0};
+ private boolean charge = false, decharge = false;
public GT_MetaTileEntity_Regulator(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier, 19, "Regulating incoming Items");
+ super(aID, aName, aNameRegional, aTier, 20, "Regulating incoming Items");
}
public GT_MetaTileEntity_Regulator(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
@@ -36,7 +37,7 @@ public class GT_MetaTileEntity_Regulator }
public boolean isValidSlot(int aIndex) {
- return aIndex < 9;
+ return aIndex < 9 || aIndex == 19;
}
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
@@ -90,4 +91,33 @@ public class GT_MetaTileEntity_Regulator public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return (super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) && (GT_Utility.areStacksEqual(aStack, this.mInventory[(aIndex + 9)]));
}
+
+ @Override
+ public int rechargerSlotStartIndex() {
+ return 19;
+ }
+
+ @Override
+ public int dechargerSlotStartIndex() {
+ return 19;
+ }
+
+ @Override
+ public int rechargerSlotCount() {
+ return charge ? 1 : 0;
+ }
+
+ @Override
+ public int dechargerSlotCount() {
+ return decharge ? 1 : 0;
+ }
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ super.onPostTick(aBaseMetaTileEntity, aTick);
+ if (aBaseMetaTileEntity.isServerSide()) {
+ charge = aBaseMetaTileEntity.getStoredEU() / 2 > aBaseMetaTileEntity.getEUCapacity() / 3;
+ decharge = aBaseMetaTileEntity.getStoredEU() < aBaseMetaTileEntity.getEUCapacity() / 3;
+ }
+ }
}
diff --git a/src/main/resources/assets/gregtech/textures/gui/Regulator.png b/src/main/resources/assets/gregtech/textures/gui/Regulator.png Binary files differindex b92a693f13..ecc62186e0 100644 --- a/src/main/resources/assets/gregtech/textures/gui/Regulator.png +++ b/src/main/resources/assets/gregtech/textures/gui/Regulator.png |