aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/slots/SlotPollutionScrubber.java
diff options
context:
space:
mode:
authorAlkalus <Draknyte1@hotmail.com>2020-05-29 21:23:28 +0100
committerAlkalus <Draknyte1@hotmail.com>2020-05-29 21:23:28 +0100
commit132faf38b856454007e97f4a8837133f496c64e3 (patch)
tree73b809f84a4b0cbec00459027f93aa51a28057a0 /src/Java/gtPlusPlus/core/slots/SlotPollutionScrubber.java
parent85f9a37942da9156436c23beae947a402544bcc9 (diff)
downloadGT5-Unofficial-132faf38b856454007e97f4a8837133f496c64e3.tar.gz
GT5-Unofficial-132faf38b856454007e97f4a8837133f496c64e3.tar.bz2
GT5-Unofficial-132faf38b856454007e97f4a8837133f496c64e3.zip
+ Added low tier basic turbines for Pollution Scrubbers.
+ Added capability for Scrubbers to be automated.
Diffstat (limited to 'src/Java/gtPlusPlus/core/slots/SlotPollutionScrubber.java')
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotPollutionScrubber.java66
1 files changed, 66 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;
+ }
+}