From 4b50c6c2b9dc2666c0d61ccce0c730d7f7acb329 Mon Sep 17 00:00:00 2001 From: Alkalus Date: Sun, 12 Nov 2017 17:55:48 +1000 Subject: $ fixed item push/pull for Modularity Table. + Added some new MT textures. --- .../modulartable/InventoryModularMain.java | 7 +- .../modulartable/InventoryModularOutput.java | 6 +- .../machines/TileEntityModularityTable.java | 71 +++++++++++++++++---- .../blocks/TileEntities/ModularTable_output.png | Bin 0 -> 260 bytes .../blocks/TileEntities/ModularTable_side.png | Bin 0 -> 244 bytes .../blocks/TileEntities/ModularTable_top.png | Bin 0 -> 289 bytes 6 files changed, 69 insertions(+), 15 deletions(-) create mode 100644 src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_output.png create mode 100644 src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_side.png create mode 100644 src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_top.png (limited to 'src') diff --git a/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java b/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java index 5b7d85335b..590286a923 100644 --- a/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java +++ b/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java @@ -1,5 +1,7 @@ package gtPlusPlus.core.inventories.modulartable; +import gtPlusPlus.core.slots.SlotModularBauble; +import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable; import gtPlusPlus.core.util.Utils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; @@ -191,12 +193,11 @@ public class InventoryModularMain implements IInventory{ * even when this returns false */ @Override - public boolean isItemValidForSlot(final int slot, final ItemStack itemstack) - { + public boolean isItemValidForSlot(final int slot, final ItemStack itemstack){ // Don't want to be able to store the inventory item within itself // Bad things will happen, like losing your inventory // Actually, this needs a custom Slot to work - return true; + return TileEntityModularityTable.isValidUpgrade(itemstack); } } \ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java b/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java index 3501b7ae47..998750e3e3 100644 --- a/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java +++ b/src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java @@ -1,5 +1,6 @@ package gtPlusPlus.core.inventories.modulartable; +import gtPlusPlus.core.tileentities.machines.TileEntityModularityTable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -181,7 +182,10 @@ public class InventoryModularOutput implements IInventory { // Don't want to be able to store the inventory item within itself // Bad things will happen, like losing your inventory // Actually, this needs a custom Slot to work - return true; + if (slot == 0){ + return TileEntityModularityTable.isValidUpgrade(itemstack); + } + return TileEntityModularityTable.isValidModularPiece(itemstack); } } \ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java index 5393e15500..3996b1c215 100644 --- a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java +++ b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java @@ -1,5 +1,8 @@ package gtPlusPlus.core.tileentities.machines; +import static gtPlusPlus.core.tileentities.machines.TileEntityModularityTable.mValidUpgradeList; +import static gtPlusPlus.core.tileentities.machines.TileEntityModularityTable.mValidUpgradeListFormChange; + import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -12,6 +15,7 @@ import gtPlusPlus.core.inventories.modulartable.InventoryModularMain; import gtPlusPlus.core.inventories.modulartable.InventoryModularOutput; import gtPlusPlus.core.item.bauble.ModularBauble; import gtPlusPlus.core.tileentities.base.TileEntityBase; +import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.array.Pair; import gtPlusPlus.core.util.item.ItemUtils; import gtPlusPlus.core.util.nbt.ModularArmourUtils; @@ -239,7 +243,7 @@ public class TileEntityModularityTable extends TileEntityBase implements ISidedI return this.inventoryGrid.getStackInSlot(slot); } else if (slot < (this.inventoryGrid.getSizeInventory()+this.inventoryOutputs.getSizeInventory())){ - return this.inventoryOutputs.getStackInSlot(slot); + return this.inventoryOutputs.getStackInSlot(slot-9); } else { return null; @@ -252,7 +256,7 @@ public class TileEntityModularityTable extends TileEntityBase implements ISidedI return this.inventoryGrid.decrStackSize(slot, count); } else if (slot < (this.inventoryGrid.getSizeInventory()+this.inventoryOutputs.getSizeInventory())){ - return this.inventoryOutputs.decrStackSize(slot, count); + return this.inventoryOutputs.decrStackSize(slot-9, count); } else { return null; @@ -270,7 +274,7 @@ public class TileEntityModularityTable extends TileEntityBase implements ISidedI this.inventoryGrid.setInventorySlotContents(slot, stack); } else if (slot < (this.inventoryGrid.getSizeInventory()+this.inventoryOutputs.getSizeInventory())){ - this.inventoryOutputs.setInventorySlotContents(slot, stack); + this.inventoryOutputs.setInventorySlotContents(slot-9, stack); } } @@ -308,7 +312,7 @@ public class TileEntityModularityTable extends TileEntityBase implements ISidedI return this.inventoryGrid.isItemValidForSlot(slot, itemstack); } else if (slot < (this.inventoryGrid.getSizeInventory()+this.inventoryOutputs.getSizeInventory())){ - return this.inventoryOutputs.isItemValidForSlot(slot, itemstack); + return this.inventoryOutputs.isItemValidForSlot(slot-9, itemstack); } else { return false; @@ -318,31 +322,45 @@ public class TileEntityModularityTable extends TileEntityBase implements ISidedI @Override public int[] getAccessibleSlotsFromSide(int side) { int[] accessibleSides = new int[this.getSizeInventory()]; - if (side == 0){ + /*if (side == 0){ } else if (side == 1){ for (int r=0; r 1){ for (int r=0; r> it = mValidUpgradeListFormChange.entrySet().iterator(); + while (it.hasNext()) { + Entry pair = it.next(); + if (pair.getKey().getItem() == itemstack.getItem() + && pair.getKey().getItemDamage() == itemstack.getItemDamage()){ + isValid = true; + } + } + Iterator>> it2 = mValidUpgradeList.entrySet().iterator(); + while (it2.hasNext()) { + Entry> pair = it2.next(); + if (pair.getKey().getItem() == itemstack.getItem() + && pair.getKey().getItemDamage() == itemstack.getItemDamage()){ + isValid = true; + } + } + } + return isValid; + } + } \ No newline at end of file diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_output.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_output.png new file mode 100644 index 0000000000..42c1df75cf Binary files /dev/null and b/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_output.png differ diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_side.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_side.png new file mode 100644 index 0000000000..57d9cc6f86 Binary files /dev/null and b/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_side.png differ diff --git a/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_top.png b/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_top.png new file mode 100644 index 0000000000..869b06039f Binary files /dev/null and b/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_top.png differ -- cgit