aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/tileentities/storage
diff options
context:
space:
mode:
authorboubou_19 <miisterunknown@gmail.com>2021-08-16 20:32:53 +0200
committerboubou_19 <miisterunknown@gmail.com>2021-08-16 20:32:53 +0200
commit8f5dd5625e4632bbecda0771caad47bbbbd35d4c (patch)
tree15d544c783cd17606e6d71259eefc062ba4ea8e5 /src/main/java/gregtech/common/tileentities/storage
parent99030ff940686562c7e4f133919fb1496b0575f4 (diff)
parentc543724aa11d696fa049855e7b330364c1000a17 (diff)
downloadGT5-Unofficial-8f5dd5625e4632bbecda0771caad47bbbbd35d4c.tar.gz
GT5-Unofficial-8f5dd5625e4632bbecda0771caad47bbbbd35d4c.tar.bz2
GT5-Unofficial-8f5dd5625e4632bbecda0771caad47bbbbd35d4c.zip
Merge remote-tracking branch 'upstream/experimental' into experimental
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/storage')
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java36
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java10
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java10
3 files changed, 43 insertions, 13 deletions
diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java
index d78dd722fa..7110ed20f9 100644
--- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java
+++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java
@@ -2,6 +2,7 @@ package gregtech.common.tileentities.storage;
import cpw.mods.fml.common.Optional;
import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
@@ -31,7 +32,7 @@ public abstract class GT_MetaTileEntity_DigitalChestBase extends GT_MetaTileEnti
public GT_MetaTileEntity_DigitalChestBase(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, 3, new String[]{
- "This Chest stores " + commonSizeCompute(aTier) + " Blocks",
+ "This Chest stores " + GT_Utility.formatNumbers(commonSizeCompute(aTier)) + " Blocks",
"Use a screwdriver to enable",
"voiding items on overflow"
});
@@ -102,7 +103,10 @@ public abstract class GT_MetaTileEntity_DigitalChestBase extends GT_MetaTileEnti
@Optional.Method(modid = "appliedenergistics2")
@Override
public boolean isPrioritized(appeng.api.storage.data.IAEItemStack iaeItemStack) {
- return false;
+ ItemStack s = getItemStack();
+ if (s == null || iaeItemStack == null)
+ return false;
+ return iaeItemStack.isSameType(s);
}
@Optional.Method(modid = "appliedenergistics2")
@@ -364,15 +368,15 @@ public abstract class GT_MetaTileEntity_DigitalChestBase extends GT_MetaTileEnti
"Stored Items:",
EnumChatFormatting.GOLD + "No Items" + EnumChatFormatting.RESET,
EnumChatFormatting.GREEN + "0" + EnumChatFormatting.RESET + " " +
- EnumChatFormatting.YELLOW + getMaxItemCount() + EnumChatFormatting.RESET
+ EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(getMaxItemCount()) + EnumChatFormatting.RESET
};
}
return new String[]{
EnumChatFormatting.BLUE + chestName() + EnumChatFormatting.RESET,
"Stored Items:",
EnumChatFormatting.GOLD + getItemStack().getDisplayName() + EnumChatFormatting.RESET,
- EnumChatFormatting.GREEN + Integer.toString(getItemCount()) + EnumChatFormatting.RESET + " " +
- EnumChatFormatting.YELLOW + getMaxItemCount() + EnumChatFormatting.RESET
+ EnumChatFormatting.GREEN + GT_Utility.formatNumbers(getItemCount()) + EnumChatFormatting.RESET + " " +
+ EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(getMaxItemCount()) + EnumChatFormatting.RESET
};
}
@@ -403,6 +407,24 @@ public abstract class GT_MetaTileEntity_DigitalChestBase extends GT_MetaTileEnti
});
}
+ @Optional.Method(modid = "appliedenergistics2")
+ private boolean hasActiveMEConnection() {
+ if (listeners == null || listeners.isEmpty())
+ return false;
+ for (Map.Entry<appeng.api.storage.IMEMonitorHandlerReceiver<appeng.api.storage.data.IAEItemStack>, Object> e : listeners.entrySet())
+ {
+ if ((e.getKey() instanceof appeng.api.parts.IPart))
+ {
+ appeng.api.networking.IGridNode n = ((appeng.api.parts.IPart) e.getKey()).getGridNode();
+ if (n != null && n.isActive())
+ return true;
+ }
+ }
+ // if there are no active storage buses - clear the listeners
+ listeners.clear();
+ return false;
+ }
+
@Override
public void saveNBTData(NBTTagCompound aNBT) {
aNBT.setInteger("mItemCount", getItemCount());
@@ -423,11 +445,15 @@ public abstract class GT_MetaTileEntity_DigitalChestBase extends GT_MetaTileEnti
@Override
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
+ if (GregTech_API.mAE2 && GT_Values.disableDigitalChestsExternalAccess && hasActiveMEConnection())
+ return false;
return aIndex == 1;
}
@Override
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
+ if (GregTech_API.mAE2 && GT_Values.disableDigitalChestsExternalAccess && hasActiveMEConnection())
+ return false;
return aIndex == 0 && (mInventory[0] == null || GT_Utility.areStacksEqual(mInventory[0], aStack));
}
diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java
index 396b6d6464..ea935f1360 100644
--- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java
+++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java
@@ -5,6 +5,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.render.TextureFactory;
+import gregtech.api.util.GT_Utility;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.ForgeDirection;
@@ -15,7 +16,8 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_QTANK_GLOW;
public class GT_MetaTileEntity_QuantumTank extends GT_MetaTileEntity_BasicTank {
public GT_MetaTileEntity_QuantumTank(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier, 3, "Stores " + commonSizeCompute(aTier) + "L of fluid");
+ super(aID, aName, aNameRegional, aTier, 3,
+ "Stores " + GT_Utility.formatNumbers(commonSizeCompute(aTier)) + "L of fluid");
}
private static int commonSizeCompute(int tier) {
@@ -143,15 +145,15 @@ public class GT_MetaTileEntity_QuantumTank extends GT_MetaTileEntity_BasicTank {
"Stored Fluid:",
EnumChatFormatting.GOLD + "No Fluid" + EnumChatFormatting.RESET,
EnumChatFormatting.GREEN + Integer.toString(0) + " L" + EnumChatFormatting.RESET + " " +
- EnumChatFormatting.YELLOW + getCapacity() + " L" + EnumChatFormatting.RESET
+ EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(getCapacity()) + " L" + EnumChatFormatting.RESET
};
}
return new String[]{
EnumChatFormatting.BLUE + "Quantum Tank" + EnumChatFormatting.RESET,
"Stored Fluid:",
EnumChatFormatting.GOLD + mFluid.getLocalizedName() + EnumChatFormatting.RESET,
- EnumChatFormatting.GREEN + Integer.toString(mFluid.amount) + " L" + EnumChatFormatting.RESET + " " +
- EnumChatFormatting.YELLOW + getCapacity() + " L" + EnumChatFormatting.RESET
+ EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mFluid.amount) + " L" + EnumChatFormatting.RESET + " " +
+ EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(getCapacity()) + " L" + EnumChatFormatting.RESET
};
}
diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java
index 41171720f5..edb69abb20 100644
--- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java
+++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java
@@ -5,6 +5,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.render.TextureFactory;
+import gregtech.api.util.GT_Utility;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.ForgeDirection;
@@ -15,7 +16,8 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_QTANK_GLOW;
public class GT_MetaTileEntity_SuperTank extends GT_MetaTileEntity_BasicTank {
public GT_MetaTileEntity_SuperTank(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier, 3, "Stores " + commonSizeCompute(aTier) + "L of fluid");
+ super(aID, aName, aNameRegional, aTier, 3,
+ "Stores " + GT_Utility.formatNumbers(commonSizeCompute(aTier)) + "L of fluid");
}
private static int commonSizeCompute(int tier) {
@@ -143,15 +145,15 @@ public class GT_MetaTileEntity_SuperTank extends GT_MetaTileEntity_BasicTank {
"Stored Fluid:",
EnumChatFormatting.GOLD + "No Fluid" + EnumChatFormatting.RESET,
EnumChatFormatting.GREEN + "0 L" + EnumChatFormatting.RESET + " " +
- EnumChatFormatting.YELLOW + getCapacity() + " L" + EnumChatFormatting.RESET
+ EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(getCapacity()) + " L" + EnumChatFormatting.RESET
};
}
return new String[]{
EnumChatFormatting.BLUE + "Super Tank" + EnumChatFormatting.RESET,
"Stored Fluid:",
EnumChatFormatting.GOLD + mFluid.getLocalizedName() + EnumChatFormatting.RESET,
- EnumChatFormatting.GREEN + Integer.toString(mFluid.amount) + " L" + EnumChatFormatting.RESET + " " +
- EnumChatFormatting.YELLOW + getCapacity() + " L" + EnumChatFormatting.RESET
+ EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mFluid.amount) + " L" + EnumChatFormatting.RESET + " " +
+ EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(getCapacity()) + " L" + EnumChatFormatting.RESET
};
}