aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/slots
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2021-05-20 23:07:24 +0000
committerAlkalus <draknyte1@hotmail.com>2021-05-20 23:07:24 +0000
commit7881c840421c191e8c4249fc303e184fa1cbf9a8 (patch)
tree0e1f8d8d19ca14e14dfb16c1ed49750935612dfa /src/Java/gtPlusPlus/core/slots
parentde40c882cb16535deae1c29b22f1a535747db536 (diff)
parent5316a0ffcbc403e17a06d4c9e28d57e202f0aafe (diff)
downloadGT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.tar.gz
GT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.tar.bz2
GT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.zip
Merged in MultiFixes (pull request #11)
MultiFixes
Diffstat (limited to 'src/Java/gtPlusPlus/core/slots')
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotPollutionScrubber.java66
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotVolumetricFlask.java30
2 files changed, 96 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/slots/SlotPollutionScrubber.java b/src/Java/gtPlusPlus/core/slots/SlotPollutionScrubber.java
new file mode 100644
index 0000000000..6dd3745d09
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/slots/SlotPollutionScrubber.java
@@ -0,0 +1,66 @@
+package gtPlusPlus.core.slots;
+
+import java.util.HashMap;
+
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.core.item.general.ItemAirFilter;
+import gtPlusPlus.core.item.general.ItemBasicScrubberTurbine;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.recipe.common.CI;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class SlotPollutionScrubber extends Slot {
+
+ private final int mType;
+ private final int mTier;
+
+ private static HashMap<Integer, ItemStack> mConveyorMap = new HashMap<Integer, ItemStack>();
+
+ static {
+ for (int i=0; i<(CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? 9 : 5); i++) {
+ mConveyorMap.put(i, CI.getConveyor(i, 1));
+ }
+ }
+
+ public SlotPollutionScrubber(final int aType, final int aTier, final IInventory inventory, final int slot, final int x, final int y) {
+ super(inventory, slot, x, y);
+ mType = aType;
+ mTier = aTier;
+ }
+
+ @Override
+ public synchronized boolean isItemValid(final ItemStack itemstack) {
+ return isItemValidForSlot(this, itemstack);
+ }
+
+ public static synchronized boolean isItemValidForSlot(final SlotPollutionScrubber aSlot, final ItemStack itemstack) {
+ if (aSlot.mType == 0) {
+ if (itemstack.getItem() instanceof ItemBasicScrubberTurbine) {
+ return true;
+ }
+ if (itemstack.getItem() instanceof GT_MetaGenerated_Tool && itemstack.getItemDamage() >= 170 && itemstack.getItemDamage() <= 179){
+ return true;
+ }
+ }
+ else if (aSlot.mType == 1) {
+ if (itemstack.getItem() instanceof ItemAirFilter) {
+ return true;
+ }
+ }
+ else if (aSlot.mType == 2) {
+ ItemStack aConveyorStack = mConveyorMap.get(aSlot.mTier);
+ if (GT_Utility.areStacksEqual(itemstack, aConveyorStack, true)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public int getSlotStackLimit() {
+ return 1;
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/slots/SlotVolumetricFlask.java b/src/Java/gtPlusPlus/core/slots/SlotVolumetricFlask.java
new file mode 100644
index 0000000000..b8955f6dc8
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/slots/SlotVolumetricFlask.java
@@ -0,0 +1,30 @@
+package gtPlusPlus.core.slots;
+
+import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+public class SlotVolumetricFlask extends Slot {
+
+ public static Item mFlask;
+
+ public SlotVolumetricFlask(final IInventory inventory, final int slot, final int x, final int y) {
+ super(inventory, slot, x, y);
+ }
+
+ @Override
+ public synchronized boolean isItemValid(final ItemStack itemstack) {
+ return isItemValidForSlot(itemstack);
+ }
+
+ public static synchronized boolean isItemValidForSlot(final ItemStack itemstack) {
+ return VolumetricFlaskHelper.isVolumetricFlask(itemstack);
+ }
+
+ @Override
+ public int getSlotStackLimit() {
+ return 16;
+ }
+}