aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/covers
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2020-11-21 11:28:36 +0100
committerGitHub <noreply@github.com>2020-11-21 11:28:36 +0100
commitdf2f26f39b81c37fd97c2c7cdb4668af1b96ad5c (patch)
tree639974d3ab8bd5e35f078406b723914f32e99271 /src/main/java/gregtech/common/covers
parentda9413dda6c621ec0b69ab4c2ea22c606a4fbbf3 (diff)
parentdc56ad792448b7e5caa489841c71926a81afb840 (diff)
downloadGT5-Unofficial-df2f26f39b81c37fd97c2c7cdb4668af1b96ad5c.tar.gz
GT5-Unofficial-df2f26f39b81c37fd97c2c7cdb4668af1b96ad5c.tar.bz2
GT5-Unofficial-df2f26f39b81c37fd97c2c7cdb4668af1b96ad5c.zip
Merge pull request #347 from GTNewHorizons/move-Item-optimazation
Move item optimazation
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;
}