From 164b3ec388e145ebbf820e109f2ccc8dd08ffaa1 Mon Sep 17 00:00:00 2001 From: Justin Aquadro Date: Thu, 21 May 2015 01:39:56 -0400 Subject: [PATCH] More UI fixes for 1.5 alpha. --- build.gradle | 2 +- .../block/tile/TileEntityDrawers.java | 9 ++++--- .../storagedrawers/client/gui/GuiDrawers.java | 2 ++ .../client/renderer/StorageRenderItem.java | 8 +++++- .../inventory/ContainerDrawers.java | 18 ++++++++++--- .../inventory/ContainerDrawersComp.java | 25 +++++++++++++++++++ .../inventory/InventoryUpgrade.java | 3 +++ 7 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 src/com/jaquadro/minecraft/storagedrawers/inventory/ContainerDrawersComp.java diff --git a/build.gradle b/build.gradle index 512b094..4d79f9a 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ buildscript { apply plugin: 'forge' -version = "1.7.10-1.4.7" +version = "1.7.10-1.5.0-alpha1" group= "com.jaquadro.minecraft.storagedrawers" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "StorageDrawers" diff --git a/src/com/jaquadro/minecraft/storagedrawers/block/tile/TileEntityDrawers.java b/src/com/jaquadro/minecraft/storagedrawers/block/tile/TileEntityDrawers.java index b6440fa..b804cf6 100644 --- a/src/com/jaquadro/minecraft/storagedrawers/block/tile/TileEntityDrawers.java +++ b/src/com/jaquadro/minecraft/storagedrawers/block/tile/TileEntityDrawers.java @@ -153,15 +153,18 @@ public abstract class TileEntityDrawers extends TileEntity implements IDrawerGro if (slot == -1) return false; - upgrade = upgrade.copy(); - upgrade.stackSize = 1; - setUpgrade(slot, upgrade); return true; } public void setUpgrade (int slot, ItemStack upgrade) { slot = MathHelper.clamp_int(slot, 0, 4); + + if (upgrade != null) { + upgrade = upgrade.copy(); + upgrade.stackSize = 1; + } + upgrades[slot] = upgrade; if (worldObj != null && !worldObj.isRemote) { diff --git a/src/com/jaquadro/minecraft/storagedrawers/client/gui/GuiDrawers.java b/src/com/jaquadro/minecraft/storagedrawers/client/gui/GuiDrawers.java index 4bba4d5..7af43e4 100644 --- a/src/com/jaquadro/minecraft/storagedrawers/client/gui/GuiDrawers.java +++ b/src/com/jaquadro/minecraft/storagedrawers/client/gui/GuiDrawers.java @@ -48,6 +48,8 @@ public class GuiDrawers extends GuiContainer return new ContainerDrawers1(inventory, tile); case 2: return new ContainerDrawers2(inventory, tile); + case 3: + return new ContainerDrawersComp(inventory, tile); case 4: return new ContainerDrawers4(inventory, tile); default: diff --git a/src/com/jaquadro/minecraft/storagedrawers/client/renderer/StorageRenderItem.java b/src/com/jaquadro/minecraft/storagedrawers/client/renderer/StorageRenderItem.java index 894a63b..3581a67 100644 --- a/src/com/jaquadro/minecraft/storagedrawers/client/renderer/StorageRenderItem.java +++ b/src/com/jaquadro/minecraft/storagedrawers/client/renderer/StorageRenderItem.java @@ -25,7 +25,13 @@ public class StorageRenderItem extends RenderItem if (item.stackSize > 1 || text != null) { - text = (text == null) ? String.valueOf(item.stackSize) : text; + if (item.stackSize >= 10000) + text = (text == null) ? String.format("%.1fK", item.stackSize / 1000f) : text; + else if (item.stackSize >= 1000000) + text = (text == null) ? String.format("%.1fM", item.stackSize / 1000000f) : text; + else + text = (text == null) ? String.valueOf(item.stackSize) : text; + int textX = (int)((x + 16 - font.getStringWidth(text) * scale) / scale) - 1; int textY = (int)((y + 16 - 7 * scale) / scale) - 1; diff --git a/src/com/jaquadro/minecraft/storagedrawers/inventory/ContainerDrawers.java b/src/com/jaquadro/minecraft/storagedrawers/inventory/ContainerDrawers.java index 9f36715..65782d6 100644 --- a/src/com/jaquadro/minecraft/storagedrawers/inventory/ContainerDrawers.java +++ b/src/com/jaquadro/minecraft/storagedrawers/inventory/ContainerDrawers.java @@ -106,15 +106,27 @@ public class ContainerDrawers extends Container // Try merge inventory to upgrades else if (slotIndex >= inventoryStart && slotIndex < hotbarEnd && slotStack != null) { - if (slotStack.getItem() == ModItems.upgrade || slotStack.getItem() == ModItems.upgradeStatus || slotStack.getItem() == ModItems.upgradeVoid) { - if (!mergeItemStack(slotStack, upgradeStart, upgradeEnd, false)) { + /*if (slotStack.getItem() == ModItems.upgrade || slotStack.getItem() == ModItems.upgradeStatus || slotStack.getItem() == ModItems.upgradeVoid) { + ItemStack slotStack1 = slotStack.copy(); + slotStack1.stackSize = 1; + + if (!mergeItemStack(slotStack1, upgradeStart, upgradeEnd, false)) { if (slotIndex >= inventoryStart && slotIndex < hotbarEnd) { if (!mergeItemStack(slotStack, hotbarStart, hotbarEnd, false)) return null; } else if (slotIndex >= hotbarStart && slotIndex < hotbarEnd && !mergeItemStack(slotStack, inventoryStart, hotbarStart, false)) return null; } - } + else { + slotStack.stackSize--; + } + }*/ + + if (slotIndex >= inventoryStart && slotIndex < hotbarStart) { + if (!mergeItemStack(slotStack, hotbarStart, hotbarEnd, false)) + return null; + } else if (slotIndex >= hotbarStart && slotIndex < hotbarEnd && !mergeItemStack(slotStack, inventoryStart, hotbarStart, false)) + return null; } // Try merge stack into inventory diff --git a/src/com/jaquadro/minecraft/storagedrawers/inventory/ContainerDrawersComp.java b/src/com/jaquadro/minecraft/storagedrawers/inventory/ContainerDrawersComp.java new file mode 100644 index 0000000..eafabf8 --- /dev/null +++ b/src/com/jaquadro/minecraft/storagedrawers/inventory/ContainerDrawersComp.java @@ -0,0 +1,25 @@ +package com.jaquadro.minecraft.storagedrawers.inventory; + +import com.jaquadro.minecraft.storagedrawers.block.tile.TileEntityDrawers; +import net.minecraft.entity.player.InventoryPlayer; + +public class ContainerDrawersComp extends ContainerDrawers +{ + private static final int[][] slotCoordinates = new int[][] { + { 80, 23 }, { 67, 49 }, { 93, 49 } + }; + + public ContainerDrawersComp (InventoryPlayer playerInventory, TileEntityDrawers tileEntity) { + super(playerInventory, tileEntity); + } + + @Override + protected int getStorageSlotX (int slot) { + return slotCoordinates[slot][0]; + } + + @Override + protected int getStorageSlotY (int slot) { + return slotCoordinates[slot][1]; + } +} diff --git a/src/com/jaquadro/minecraft/storagedrawers/inventory/InventoryUpgrade.java b/src/com/jaquadro/minecraft/storagedrawers/inventory/InventoryUpgrade.java index bbdecb1..8ba5f3c 100644 --- a/src/com/jaquadro/minecraft/storagedrawers/inventory/InventoryUpgrade.java +++ b/src/com/jaquadro/minecraft/storagedrawers/inventory/InventoryUpgrade.java @@ -47,6 +47,9 @@ public class InventoryUpgrade implements IInventory @Override public void setInventorySlotContents (int slot, ItemStack item) { + //if (item != null && item.stackSize > getInventoryStackLimit()) + // item.stackSize = getInventoryStackLimit(); + tile.setUpgrade(slot, item); }