aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/covers
diff options
context:
space:
mode:
authorPrometheus0000 <prometheus0000000@gmail.com>2020-11-21 20:39:37 -0500
committerGitHub <noreply@github.com>2020-11-21 20:39:37 -0500
commit926bcc78f0245bd894733ba629b9e3e4343b6aed (patch)
tree09d4cad8395a777d9e6b7c07cdd1eec40fbfe3ac /src/main/java/gregtech/common/covers
parentce5923a3538688d7867d8acc932906e71ad5ead4 (diff)
parent0f2d417148350ff7952cdf7ac86b45c7392199ac (diff)
downloadGT5-Unofficial-926bcc78f0245bd894733ba629b9e3e4343b6aed.tar.gz
GT5-Unofficial-926bcc78f0245bd894733ba629b9e3e4343b6aed.tar.bz2
GT5-Unofficial-926bcc78f0245bd894733ba629b9e3e4343b6aed.zip
Merge pull request #12 from GTNewHorizons/experimental
update
Diffstat (limited to 'src/main/java/gregtech/common/covers')
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java32
1 files changed, 22 insertions, 10 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
index 303f358a34..aee46b7aab 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
@@ -14,6 +14,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.fluids.Fluid;
+import static gregtech.api.util.GT_Utility.moveMultipleItemStacks;
+
public class GT_Cover_Conveyor extends GT_CoverBehavior {
public final int mTickRate;
private final int mMaxStacks;
@@ -42,19 +44,29 @@ public class GT_Cover_Conveyor extends GT_CoverBehavior {
boolean costsEnergy = ((aCoverVariable % 2 == 0) || (aSide != 1)) && ((aCoverVariable % 2 != 0) || (aSide != 0)) && (aTileEntity.getUniversalEnergyCapacity() >= 128L);
byte moved;
- for(int i=0 ; i < this.mMaxStacks ; i++) {
- // Costs energy but we don't have enough, bail
- if ((costsEnergy && !aTileEntity.isUniversalEnergyStored(256L)))
- break;
- moved = GT_Utility.moveOneItemStack(fromEntity, toEntity, fromSide , toSide, null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
+ if (costsEnergy) {
+ long tStoredEnergy = aTileEntity.getUniversalEnergyStored();
+ int tMaxStacks = (int)(tStoredEnergy/(4*64*this.mMaxStacks));
+ if (tMaxStacks > this.mMaxStacks)
+ tMaxStacks = this.mMaxStacks;
+ int tCost = moveMultipleItemStacks(fromEntity, toEntity, fromSide , toSide, null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1,tMaxStacks);
+ aTileEntity.decreaseStoredEnergyUnits(4 * tCost, true);
+ } else {
+ moveMultipleItemStacks(fromEntity, toEntity, fromSide , toSide, null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1,this.mMaxStacks);
+ }
- if(moved == 0)
- break;
- if (costsEnergy)
- aTileEntity.decreaseStoredEnergyUnits(4 * moved, true);
- }
+// for(int i=0 ; i < this.mMaxStacks ; i++) {
+// // Costs energy but we don't have enough, bail
+// if ((costsEnergy && !aTileEntity.isUniversalEnergyStored(256L)))
+// break;
+//
+// moved = GT_Utility.moveOneItemStack(fromEntity, toEntity, fromSide , toSide, null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
+//
+// if(moved == 0)
+// break;
+// }
return aCoverVariable;
}