From a50505fed6b6c8d6801e66a44b8344c08371fefe Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Fri, 6 Jun 2014 21:04:59 -0500 Subject: [PATCH] Fixed Bug: #0431 - Weird Inventory behaviour in SkyChests with InvTweaks --- client/gui/AEBaseGui.java | 40 ++++++++++++--------- client/gui/implementations/GuiSkyChest.java | 7 ++++ integration/modules/InvTweaks.java | 5 ++- transformer/asm/ASMIntegration.java | 1 - 4 files changed, 33 insertions(+), 20 deletions(-) diff --git a/client/gui/AEBaseGui.java b/client/gui/AEBaseGui.java index f12fe739..c883d68b 100644 --- a/client/gui/AEBaseGui.java +++ b/client/gui/AEBaseGui.java @@ -190,26 +190,29 @@ public abstract class AEBaseGui extends GuiContainer if ( Keyboard.isKeyDown( Keyboard.KEY_SPACE ) ) { - IAEItemStack stack = null; - if ( slot instanceof SlotME ) - stack = ((SlotME) slot).getAEStack(); - - try + if ( enableSpaceClicking() ) { - int slotNum = inventorySlots.inventorySlots.size(); + IAEItemStack stack = null; + if ( slot instanceof SlotME ) + stack = ((SlotME) slot).getAEStack(); - if ( !(slot instanceof SlotME) && slot != null ) - slotNum = slot.slotNumber; + try + { + int slotNum = inventorySlots.inventorySlots.size(); - ((AEBaseContainer) inventorySlots).setTargetStack( stack ); - PacketInventoryAction p = new PacketInventoryAction( InventoryAction.MOVE_REGION, slotNum, null ); - NetworkHandler.instance.sendToServer( p ); + if ( !(slot instanceof SlotME) && slot != null ) + slotNum = slot.slotNumber; + + ((AEBaseContainer) inventorySlots).setTargetStack( stack ); + PacketInventoryAction p = new PacketInventoryAction( InventoryAction.MOVE_REGION, slotNum, null ); + NetworkHandler.instance.sendToServer( p ); + } + catch (IOException e) + { + AELog.error( e ); + } + return; } - catch (IOException e) - { - AELog.error( e ); - } - return; } if ( slot instanceof SlotME ) @@ -265,6 +268,11 @@ public abstract class AEBaseGui extends GuiContainer super.handleMouseClick( slot, slotIdx, ctrlDown, key ); } + protected boolean enableSpaceClicking() + { + return true; + } + @Override protected boolean checkHotbarKeys(int p_146983_1_) { diff --git a/client/gui/implementations/GuiSkyChest.java b/client/gui/implementations/GuiSkyChest.java index 8e0e9836..5e3c0cc2 100644 --- a/client/gui/implementations/GuiSkyChest.java +++ b/client/gui/implementations/GuiSkyChest.java @@ -3,6 +3,7 @@ package appeng.client.gui.implementations; import net.minecraft.entity.player.InventoryPlayer; import appeng.client.gui.AEBaseGui; import appeng.container.implementations.ContainerSkyChest; +import appeng.core.AppEng; import appeng.core.localization.GuiText; import appeng.tile.storage.TileSkyChest; @@ -28,4 +29,10 @@ public class GuiSkyChest extends AEBaseGui fontRendererObj.drawString( GuiText.inventory.getLocal(), 8, ySize - 96 + 2, 4210752 ); } + @Override + protected boolean enableSpaceClicking() + { + return !AppEng.instance.isIntegrationEnabled( "InvTweaks" ); + } + } diff --git a/integration/modules/InvTweaks.java b/integration/modules/InvTweaks.java index dc506b6e..b8216127 100644 --- a/integration/modules/InvTweaks.java +++ b/integration/modules/InvTweaks.java @@ -4,20 +4,19 @@ import invtweaks.api.InvTweaksAPI; import net.minecraft.item.ItemStack; import appeng.integration.BaseModule; import appeng.integration.abstraction.IInvTweaks; -import cpw.mods.fml.common.Mod.Instance; +import cpw.mods.fml.common.Loader; public class InvTweaks extends BaseModule implements IInvTweaks { public static InvTweaks instance; - @Instance("inventorytweaks") static InvTweaksAPI api; @Override public void Init() { - + api = (InvTweaksAPI) Loader.instance().getIndexedModList().get( "inventorytweaks" ).getMod(); } @Override diff --git a/transformer/asm/ASMIntegration.java b/transformer/asm/ASMIntegration.java index 58725878..64215be4 100644 --- a/transformer/asm/ASMIntegration.java +++ b/transformer/asm/ASMIntegration.java @@ -41,7 +41,6 @@ public class ASMIntegration implements IClassTransformer // integrationModules.add( IntegrationSide.BOTH, "Greg Tech", "gregtech_addon", "GT" ); // integrationModules.add( IntegrationSide.BOTH, "Universal Electricity", null, "UE" ); // integrationModules.add( IntegrationSide.BOTH, "Logistics Pipes", "LogisticsPipes|Main", "LP" ); - integrationModules.add( IntegrationSide.CLIENT, "Inventory Tweaks", "", "InvTweaks" ); integrationModules.add( IntegrationSide.BOTH, "Mine Factory Reloaded", "MineFactoryReloaded", "MFR" ); integrationModules.add( IntegrationSide.BOTH, "Deep Storage Unit", null, "DSU" ); // integrationModules.add( IntegrationSide.BOTH, "Better Storage", "betterstorage" );