aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2017-11-12 17:55:48 +1000
committerAlkalus <draknyte1@hotmail.com>2017-11-12 17:55:48 +1000
commit4b50c6c2b9dc2666c0d61ccce0c730d7f7acb329 (patch)
tree41f64baa5e70734b0740f78a0c312eed7d5478d7 /src
parent566b1b123082569cb0ffdb2ba5f873ebc0f84470 (diff)
downloadGT5-Unofficial-4b50c6c2b9dc2666c0d61ccce0c730d7f7acb329.tar.gz
GT5-Unofficial-4b50c6c2b9dc2666c0d61ccce0c730d7f7acb329.tar.bz2
GT5-Unofficial-4b50c6c2b9dc2666c0d61ccce0c730d7f7acb329.zip
$ fixed item push/pull for Modularity Table.
+ Added some new MT textures.
Diffstat (limited to 'src')
-rw-r--r--src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularMain.java7
-rw-r--r--src/Java/gtPlusPlus/core/inventories/modulartable/InventoryModularOutput.java6
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/machines/TileEntityModularityTable.java71
-rw-r--r--src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_output.pngbin0 -> 260 bytes
-rw-r--r--src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_side.pngbin0 -> 244 bytes
-rw-r--r--src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_top.pngbin0 -> 289 bytes
6 files changed, 69 insertions, 15 deletions
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<this.inventoryOutputs.getSizeInventory(); r++){
- accessibleSides[r]=r;
+ accessibleSides[r]=9+r;
}
}
else if (side > 1){
for (int r=0; r<this.inventoryGrid.getSizeInventory(); r++){
accessibleSides[r]=r;
}
- }
+ } */
+ for (int r=0; r<this.getSizeInventory(); r++){
+ accessibleSides[r]=r;
+ }
return accessibleSides;
}
@Override
- public boolean canInsertItem(int p_102007_1_, ItemStack p_102007_2_, int p_102007_3_) {
- return false;
+ public boolean canInsertItem(int slot, ItemStack item, int side) {
+ Utils.LOG_INFO("Slot:"+slot+" | side? "+side);
+
+ if (slot <= 8){
+ return this.inventoryGrid.isItemValidForSlot(slot, item);
+ }
+ else {
+ return this.inventoryOutputs.isItemValidForSlot(slot, item);
+ }
}
@Override
- public boolean canExtractItem(int p_102008_1_, ItemStack p_102008_2_, int p_102008_3_) {
- return true;
+ public boolean canExtractItem(int slot, ItemStack item, int side) {
+ Utils.LOG_INFO("Slot:"+slot+" | side? "+side);
+ if (slot <= 8 || slot == 11){
+ return true;
+ }
+ return false;
}
public String getCustomName() {
@@ -437,4 +455,35 @@ public class TileEntityModularityTable extends TileEntityBase implements ISidedI
}
return false;
}
+
+ public static boolean isValidModularPiece(final ItemStack itemstack){
+ if (itemstack.getItem() instanceof ModularBauble){
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean isValidUpgrade(final ItemStack itemstack) {
+ boolean isValid = false;
+ if (itemstack != null){
+ 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;
+ }
+ }
+ Iterator<Entry<ItemStack, Pair<Modifiers, Integer>>> it2 = mValidUpgradeList.entrySet().iterator();
+ while (it2.hasNext()) {
+ Entry<ItemStack, Pair<Modifiers, Integer>> 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
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_output.png
Binary files 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
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_side.png
Binary files 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
--- /dev/null
+++ b/src/resources/assets/miscutils/textures/blocks/TileEntities/ModularTable_top.png
Binary files differ