aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/tileentities
diff options
context:
space:
mode:
authorJohannes Gäßler <updrn@student.kit.edu>2017-06-25 00:30:59 +0200
committerJohannes Gäßler <updrn@student.kit.edu>2017-06-25 00:30:59 +0200
commit22fdaed16424e926bc2b8ba6ffe0ebed8b7a4c44 (patch)
tree46c2a1553c29d2519d253d858ec72159d15019e3 /src/main/java/gregtech/common/tileentities
parent31516ba891e2a71e6312bf6acdeef7f39a4eb275 (diff)
downloadGT5-Unofficial-22fdaed16424e926bc2b8ba6ffe0ebed8b7a4c44.tar.gz
GT5-Unofficial-22fdaed16424e926bc2b8ba6ffe0ebed8b7a4c44.tar.bz2
GT5-Unofficial-22fdaed16424e926bc2b8ba6ffe0ebed8b7a4c44.zip
Added simple ItemDistributor implementation, changed MoveOneItemStack
Diffstat (limited to 'src/main/java/gregtech/common/tileentities')
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java
index a7d2d28650..e7b5fb9919 100644
--- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java
@@ -10,8 +10,12 @@ import gregtech.api.util.GT_Utility;
import gregtech.common.gui.GT_Container_ChestBuffer;
import gregtech.common.gui.GT_GUIContainer_ChestBuffer;
import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.tileentity.TileEntity;
public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer {
+ private byte[] weights = {1, 1, 1, 1, 1, 1};
+ boolean onlyOutputToInventories = true;
+
public GT_MetaTileEntity_ItemDistributor(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, 28, "Buffering lots of incoming Items");
}
@@ -30,7 +34,7 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_ChestBuffer(this.mName, this.mTier, this.mInventory.length, this.mDescriptionArray, this.mTextures);
+ return new GT_MetaTileEntity_ItemDistributor(this.mName, this.mTier, this.mInventory.length, this.mDescriptionArray, this.mTextures);
}
public ITexture getOverlayIcon() {
@@ -43,7 +47,18 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer
protected void moveItems(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) {
fillStacksIntoFirstSlots();
- super.moveItems(aBaseMetaTileEntity, aTimer);
+ int tCost = 0;
+ for (byte side = 0; side < 6; side++) {
+ TileEntity adjacentTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(side);
+ if(!onlyOutputToInventories || adjacentTileEntity != null){
+ tCost = GT_Utility.moveOneItemStack(aBaseMetaTileEntity, adjacentTileEntity,
+ side, GT_Utility.getOppositeSide(side), null, false, (byte) 64, (byte) 1, weights[side], weights[side]);
+ }
+ }
+ if (tCost > 0 || aBaseMetaTileEntity.hasInventoryBeenModified()) {
+ mSuccess = 50;
+ aBaseMetaTileEntity.decreaseStoredEnergyUnits(Math.abs(tCost), true);
+ }
fillStacksIntoFirstSlots();
}