aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2017-11-11 21:39:21 +1000
committerAlkalus <draknyte1@hotmail.com>2017-11-11 21:39:21 +1000
commit3e8d2c58af25cad0542cdc77b5056031c5ce186d (patch)
treee04a85bd4faad8349782582a16ee0d3c8b2d8679 /src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java
parent12c0d5094f1b1d6b534727c6824ff6897bed8370 (diff)
downloadGT5-Unofficial-3e8d2c58af25cad0542cdc77b5056031c5ce186d.tar.gz
GT5-Unofficial-3e8d2c58af25cad0542cdc77b5056031c5ce186d.tar.bz2
GT5-Unofficial-3e8d2c58af25cad0542cdc77b5056031c5ce186d.zip
+ More modular work.
Diffstat (limited to 'src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java')
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java b/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java
new file mode 100644
index 0000000000..532f3efcfb
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/slots/SlotModularBaubleUpgrades.java
@@ -0,0 +1,73 @@
+package gtPlusPlus.core.slots;
+
+import static gtPlusPlus.core.tileentities.machines.TileEntityModularityTable.mValidUpgradeList;
+import static gtPlusPlus.core.tileentities.machines.TileEntityModularityTable.mValidUpgradeListFormChange;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.array.Pair;
+import gtPlusPlus.core.util.nbt.ModularArmourUtils.BT;
+import gtPlusPlus.core.util.nbt.ModularArmourUtils.Modifiers;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class SlotModularBaubleUpgrades extends Slot{
+
+ public SlotModularBaubleUpgrades(final IInventory inventory, final int slot, final int x, final int y) {
+ super(inventory, slot, x, y);
+
+ }
+
+ @Override
+ public boolean isItemValid(final ItemStack itemstack) {
+ boolean isValid = false;
+
+ if (itemstack != null){
+ Utils.LOG_INFO("trying to insert "+itemstack.getDisplayName());
+ Utils.LOG_INFO("Valid Upgrade count: "+mValidUpgradeList.size());
+ if (mValidUpgradeList.containsKey(itemstack)){
+ isValid = true;
+ }
+ else {
+ Iterator<Entry<ItemStack, Pair<Modifiers, Integer>>> it = mValidUpgradeList.entrySet().iterator();
+ while (it.hasNext()) {
+ Entry<ItemStack, Pair<Modifiers, Integer>> pair = it.next();
+
+ if (pair.getKey().getItem() == itemstack.getItem()
+ && pair.getKey().getItemDamage() == itemstack.getItemDamage()){
+ isValid = true;
+ }
+
+ //Utils.LOG_INFO("Found "+pair.getKey().getDisplayName()+" giving "+pair.getValue().getKey().name()+".");
+ }
+ }
+ Utils.LOG_INFO("Valid Form Upgrade count: "+mValidUpgradeListFormChange.size());
+ if (mValidUpgradeListFormChange.containsKey(itemstack)){
+ isValid = true;
+ }
+ else {
+ Iterator<Entry<ItemStack, BT>> it = mValidUpgradeListFormChange.entrySet().iterator();
+ while (it.hasNext()) {
+ Entry<ItemStack, BT> pair = it.next();
+
+ if (pair.getKey().getItem() == itemstack.getItem()
+ && pair.getKey().getItemDamage() == itemstack.getItemDamage()){
+ isValid = true;
+ }
+
+ //Utils.LOG_INFO("Found "+pair.getKey().getDisplayName()+" giving "+pair.getValue().name()+".");
+ }
+ }
+ }
+ return isValid;
+ }
+
+ @Override
+ public int getSlotStackLimit() {
+ return 1;
+ }
+}