From aeb617d22c6f85e4714cd567e60112bd01c94ee0 Mon Sep 17 00:00:00 2001 From: pahimar Date: Mon, 23 Mar 2015 19:10:46 -0400 Subject: [PATCH] Another whack of stuff with varying levels of won't break --- .../com/pahimar/ee3/EquivalentExchange3.java | 6 -- .../ee3/array/TransmutationAlchemyArray.java | 17 +++--- .../ee3/block/BlockAshInfusedStoneSlab.java | 2 +- .../gui/element/ElementSearchField.java | 56 +++++++++++++++++++ .../gui/inventory/GuiAlchemicalTome.java | 17 +----- .../gui/inventory/GuiTransmutationTablet.java | 17 +----- .../ee3/inventory/ContainerAlchemicalBag.java | 30 ++++++++++ .../inventory/ContainerAlchemicalTome.java | 5 ++ .../ee3/inventory/ContainerCalcinator.java | 23 ++++++++ .../ContainerTransmutationTablet.java | 31 ++++++++++ .../ee3/inventory/SlotAlchemicalBag.java | 36 ------------ .../pahimar/ee3/inventory/SlotCalcinator.java | 28 ---------- .../ee3/inventory/SlotTabletInput.java | 21 ------- .../ee3/inventory/SlotTabletOutput.java | 26 --------- 14 files changed, 162 insertions(+), 153 deletions(-) create mode 100644 src/main/java/com/pahimar/ee3/client/gui/element/ElementSearchField.java delete mode 100644 src/main/java/com/pahimar/ee3/inventory/SlotAlchemicalBag.java delete mode 100644 src/main/java/com/pahimar/ee3/inventory/SlotCalcinator.java delete mode 100644 src/main/java/com/pahimar/ee3/inventory/SlotTabletInput.java delete mode 100644 src/main/java/com/pahimar/ee3/inventory/SlotTabletOutput.java diff --git a/src/main/java/com/pahimar/ee3/EquivalentExchange3.java b/src/main/java/com/pahimar/ee3/EquivalentExchange3.java index 4e4cc076..aa0b2dcd 100644 --- a/src/main/java/com/pahimar/ee3/EquivalentExchange3.java +++ b/src/main/java/com/pahimar/ee3/EquivalentExchange3.java @@ -3,7 +3,6 @@ package com.pahimar.ee3; import com.pahimar.ee3.array.AlchemyArrayRegistry; import com.pahimar.ee3.command.CommandEE; import com.pahimar.ee3.exchange.EnergyValueRegistry; -import com.pahimar.ee3.exchange.WrappedStack; import com.pahimar.ee3.handler.*; import com.pahimar.ee3.init.*; import com.pahimar.ee3.knowledge.AbilityRegistry; @@ -125,11 +124,6 @@ public class EquivalentExchange3 TransmutationKnowledgeRegistry.getInstance().saveAll(); AbilityRegistry.getInstance().saveAbilityRegistryToFile(); - - for (WrappedStack wrappedStack : EnergyValueRegistry.getInstance().getStackValueMap().keySet()) - { - LogHelper.info(String.format("Stack %s, Value: %s", wrappedStack, EnergyValueRegistry.getInstance().getStackValueMap().get(wrappedStack))); - } } public EnergyValueRegistry getEnergyValueRegistry() diff --git a/src/main/java/com/pahimar/ee3/array/TransmutationAlchemyArray.java b/src/main/java/com/pahimar/ee3/array/TransmutationAlchemyArray.java index 2a5245d0..ca61fe40 100644 --- a/src/main/java/com/pahimar/ee3/array/TransmutationAlchemyArray.java +++ b/src/main/java/com/pahimar/ee3/array/TransmutationAlchemyArray.java @@ -1,9 +1,11 @@ package com.pahimar.ee3.array; -import com.pahimar.ee3.EquivalentExchange3; import com.pahimar.ee3.api.AlchemyArray; import com.pahimar.ee3.init.ModBlocks; -import com.pahimar.ee3.reference.*; +import com.pahimar.ee3.reference.Names; +import com.pahimar.ee3.reference.Particles; +import com.pahimar.ee3.reference.Sounds; +import com.pahimar.ee3.reference.Textures; import com.pahimar.ee3.tileentity.TileEntityAlchemyArray; import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet; import com.pahimar.ee3.util.CommonParticleHelper; @@ -32,11 +34,12 @@ public class TransmutationAlchemyArray extends AlchemyArray implements IInventor @Override public void onArrayActivated(World world, int eventX, int eventY, int eventZ, int arrayX, int arrayY, int arrayZ, EntityPlayer entityPlayer, int sideHit, float hitX, float hitY, float hitZ) { - if (!entityPlayer.isSneaking()) - { - entityPlayer.openGui(EquivalentExchange3.instance, GUIs.TRANSMUTATION_ARRAY.ordinal(), world, arrayX, arrayY, arrayZ); - return; - } + // TODO Come back to this later to resolve inventory issues + // if (!entityPlayer.isSneaking()) + // { + // entityPlayer.openGui(EquivalentExchange3.instance, GUIs.TRANSMUTATION_ARRAY.ordinal(), world, arrayX, arrayY, arrayZ); + // return; + // } if (!world.isRemote && entityPlayer.isSneaking()) { diff --git a/src/main/java/com/pahimar/ee3/block/BlockAshInfusedStoneSlab.java b/src/main/java/com/pahimar/ee3/block/BlockAshInfusedStoneSlab.java index 701e9ebd..e07085e2 100644 --- a/src/main/java/com/pahimar/ee3/block/BlockAshInfusedStoneSlab.java +++ b/src/main/java/com/pahimar/ee3/block/BlockAshInfusedStoneSlab.java @@ -121,7 +121,7 @@ public class BlockAshInfusedStoneSlab extends BlockSlab } else if (metaData == 5) { - shiftedZ--; + shiftedX--; } else if (metaData == 6) { diff --git a/src/main/java/com/pahimar/ee3/client/gui/element/ElementSearchField.java b/src/main/java/com/pahimar/ee3/client/gui/element/ElementSearchField.java new file mode 100644 index 00000000..ea1ebe01 --- /dev/null +++ b/src/main/java/com/pahimar/ee3/client/gui/element/ElementSearchField.java @@ -0,0 +1,56 @@ +package com.pahimar.ee3.client.gui.element; + +import com.pahimar.ee3.network.PacketHandler; +import com.pahimar.ee3.network.message.MessageGuiElementTextFieldUpdate; +import com.pahimar.repackage.cofh.lib.gui.GuiBase; +import com.pahimar.repackage.cofh.lib.gui.element.ElementTextField; + +public class ElementSearchField extends ElementTextField +{ + public ElementSearchField(GuiBase gui, int posX, int posY, String name, int width, int height) + { + super(gui, posX, posY, name, width, height); + } + + @Override + protected void onCharacterEntered(boolean success) + { + if (success) + { + PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this)); + } + } + + @Override + protected boolean onEnter() + { + if (isFocused()) + { + this.setFocused(false); + } + return super.onEnter(); + } + + @Override + public boolean onMousePressed(int mouseX, int mouseY, int mouseButton) + { + super.onMousePressed(mouseX, mouseY, mouseButton); + if (mouseButton == 1) + { + this.setText(""); + PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this)); + } + + return true; + } + + @Override + public void onMouseReleased(int mouseX, int mouseY) + { + super.onMouseReleased(mouseX, mouseY); + if (this.intersectsWith(mouseX, mouseY)) + { + this.setFocused(true); + } + } +} diff --git a/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiAlchemicalTome.java b/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiAlchemicalTome.java index cc6543e2..ce3fc1dd 100644 --- a/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiAlchemicalTome.java +++ b/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiAlchemicalTome.java @@ -1,9 +1,9 @@ package com.pahimar.ee3.client.gui.inventory; +import com.pahimar.ee3.client.gui.element.ElementSearchField; import com.pahimar.ee3.inventory.ContainerAlchemicalTome; import com.pahimar.ee3.network.PacketHandler; import com.pahimar.ee3.network.message.MessageGuiElementClicked; -import com.pahimar.ee3.network.message.MessageGuiElementTextFieldUpdate; import com.pahimar.ee3.reference.Messages; import com.pahimar.ee3.reference.Textures; import com.pahimar.repackage.cofh.lib.gui.GuiBase; @@ -41,21 +41,10 @@ public class GuiAlchemicalTome extends GuiBase prevPageButton = new ElementButton(this, 15, 177, "prev", 0, 0, 20, 0, 40, 0, 20, 10, 60, 10, Textures.Gui.Elements.ARROW_LEFT); nextPageButton = new ElementButton(this, 223, 177, "next", 0, 0, 22, 0, 44, 0, 22, 10, 66, 10, Textures.Gui.Elements.ARROW_RIGHT); - searchTextField = new ElementTextField(this, 64, 205, "searchField", 128, 20) - { - @Override - protected void onCharacterEntered(boolean success) - { - if (success) - { - PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this)); - } - } - }; + searchTextField = new ElementSearchField(this, 64, 205, "searchField", 128, 20); searchTextField.setPadding(6, 3, 0, 3); searchTextField.borderColor = new GuiColor(160, 160, 160).getColor(); searchTextField.backgroundColor = new GuiColor(0, 0, 0).getColor(); - searchTextField.setFocused(true); addElement(prevPageButton); addElement(nextPageButton); @@ -74,7 +63,7 @@ public class GuiAlchemicalTome extends GuiBase } else { - if (((ContainerAlchemicalTome) this.inventorySlots).getInventorySize() == 0) + if (((ContainerAlchemicalTome) this.inventorySlots).getKnownTransmutationsCount() == 0) { fontRendererObj.drawSplitString(StatCollector.translateToLocal(Messages.Gui.NO_KNOWN_TRANSMUTATIONS), 142, 20, 100, new GuiColor(50, 50, 50).getColor()); fontRendererObj.drawSplitString(StatCollector.translateToLocal(Messages.Gui.HOW_TO_LEARN_TRANSMUTATIONS), 142, 60, 100, new GuiColor(50, 50, 50).getColor()); diff --git a/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiTransmutationTablet.java b/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiTransmutationTablet.java index 23a9cdf0..dcdec5a6 100644 --- a/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiTransmutationTablet.java +++ b/src/main/java/com/pahimar/ee3/client/gui/inventory/GuiTransmutationTablet.java @@ -1,8 +1,7 @@ package com.pahimar.ee3.client.gui.inventory; +import com.pahimar.ee3.client.gui.element.ElementSearchField; import com.pahimar.ee3.inventory.ContainerTransmutationTablet; -import com.pahimar.ee3.network.PacketHandler; -import com.pahimar.ee3.network.message.MessageGuiElementTextFieldUpdate; import com.pahimar.ee3.reference.Colors; import com.pahimar.ee3.reference.Textures; import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet; @@ -38,22 +37,12 @@ public class GuiTransmutationTablet extends GuiBase this.drawTitle = false; this.drawInventory = false; - searchTextField = new ElementTextField(this, 173, 145, "searchField", 78, 10) - { - @Override - protected void onCharacterEntered(boolean success) - { - if (success) - { - PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this)); - } - } - }; + searchTextField = new ElementSearchField(this, 173, 145, "searchField", 78, 10); searchTextField.backgroundColor = new GuiColor(0, 0, 0, 0).getColor(); searchTextField.borderColor = new GuiColor(0, 0, 0, 0).getColor(); searchTextField.setFocused(true); - slider = new ElementSlider(this, 239, 163, 12, 74, 50, 0) + slider = new ElementSlider(this, 239, 163, 12, 74, 59, 0) { @Override protected void dragSlider(int x, int y) diff --git a/src/main/java/com/pahimar/ee3/inventory/ContainerAlchemicalBag.java b/src/main/java/com/pahimar/ee3/inventory/ContainerAlchemicalBag.java index cf2f5314..0c0bca4c 100644 --- a/src/main/java/com/pahimar/ee3/inventory/ContainerAlchemicalBag.java +++ b/src/main/java/com/pahimar/ee3/inventory/ContainerAlchemicalBag.java @@ -5,6 +5,7 @@ import com.pahimar.ee3.reference.Names; import com.pahimar.ee3.util.NBTHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; @@ -188,4 +189,33 @@ public class ContainerAlchemicalBag extends ContainerEE { inventoryAlchemicalBag.onGuiSaved(entityPlayer); } + + private class SlotAlchemicalBag extends Slot + { + private final EntityPlayer entityPlayer; + private ContainerAlchemicalBag containerAlchemicalBag; + + public SlotAlchemicalBag(ContainerAlchemicalBag containerAlchemicalBag, IInventory inventory, EntityPlayer entityPlayer, int slotIndex, int x, int y) + { + super(inventory, slotIndex, x, y); + this.entityPlayer = entityPlayer; + this.containerAlchemicalBag = containerAlchemicalBag; + } + + @Override + public void onSlotChange(ItemStack itemStack1, ItemStack itemStack2) + { + super.onSlotChange(itemStack1, itemStack2); + containerAlchemicalBag.saveInventory(entityPlayer); + } + + /** + * Check if the stack is a valid item for this slot. Always true beside for the armor slots. + */ + @Override + public boolean isItemValid(ItemStack itemStack) + { + return !(itemStack.getItem() instanceof ItemAlchemicalBag); + } + } } diff --git a/src/main/java/com/pahimar/ee3/inventory/ContainerAlchemicalTome.java b/src/main/java/com/pahimar/ee3/inventory/ContainerAlchemicalTome.java index 76743f5b..b244c2fa 100644 --- a/src/main/java/com/pahimar/ee3/inventory/ContainerAlchemicalTome.java +++ b/src/main/java/com/pahimar/ee3/inventory/ContainerAlchemicalTome.java @@ -124,6 +124,11 @@ public class ContainerAlchemicalTome extends ContainerEE implements ITextFieldEl return inventoryAlchemicalTome.getSizeInventory(); } + public int getKnownTransmutationsCount() + { + return inventoryAlchemicalTome.getKnownTransmutations().size(); + } + public int getPageOffset() { return this.pageOffset; diff --git a/src/main/java/com/pahimar/ee3/inventory/ContainerCalcinator.java b/src/main/java/com/pahimar/ee3/inventory/ContainerCalcinator.java index 8b305b38..fd7e5903 100644 --- a/src/main/java/com/pahimar/ee3/inventory/ContainerCalcinator.java +++ b/src/main/java/com/pahimar/ee3/inventory/ContainerCalcinator.java @@ -1,11 +1,13 @@ package com.pahimar.ee3.inventory; import com.pahimar.ee3.tileentity.TileEntityCalcinator; +import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntityFurnace; @@ -166,4 +168,25 @@ public class ContainerCalcinator extends ContainerEE this.tileEntityCalcinator.itemCookTime = updatedValue; } } + + private class SlotCalcinator extends Slot + { + public SlotCalcinator(IInventory inventory, int slotIndex, int x, int y) + { + super(inventory, slotIndex, x, y); + } + + @Override + public void onPickupFromSlot(EntityPlayer entityPlayer, ItemStack itemStack) + { + super.onPickupFromSlot(entityPlayer, itemStack); + FMLCommonHandler.instance().firePlayerCraftingEvent(entityPlayer, itemStack, inventory); + } + + @Override + public boolean isItemValid(ItemStack itemStack) + { + return false; + } + } } diff --git a/src/main/java/com/pahimar/ee3/inventory/ContainerTransmutationTablet.java b/src/main/java/com/pahimar/ee3/inventory/ContainerTransmutationTablet.java index 9dbb1ebd..72fdf767 100644 --- a/src/main/java/com/pahimar/ee3/inventory/ContainerTransmutationTablet.java +++ b/src/main/java/com/pahimar/ee3/inventory/ContainerTransmutationTablet.java @@ -1,14 +1,17 @@ package com.pahimar.ee3.inventory; import com.pahimar.ee3.api.EnergyValue; +import com.pahimar.ee3.exchange.EnergyValueRegistry; import com.pahimar.ee3.item.ItemAlchemicalTome; import com.pahimar.ee3.item.ItemMiniumStone; import com.pahimar.ee3.item.ItemPhilosophersStone; +import com.pahimar.ee3.knowledge.AbilityRegistry; import com.pahimar.ee3.knowledge.TransmutationKnowledgeRegistry; import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet; import com.pahimar.ee3.util.ItemHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; @@ -163,4 +166,32 @@ public class ContainerTransmutationTablet extends ContainerEE implements ITextFi return itemStack; } + + private class SlotTabletOutput extends Slot + { + public SlotTabletOutput(IInventory iInventory, int slotIndex, int x, int y) + { + super(iInventory, slotIndex, x, y); + } + + @Override + public boolean isItemValid(ItemStack itemStack) + { + return false; + } + } + + private class SlotTabletInput extends Slot + { + public SlotTabletInput(IInventory iInventory, int slotIndex, int x, int y) + { + super(iInventory, slotIndex, x, y); + } + + @Override + public boolean isItemValid(ItemStack itemStack) + { + return EnergyValueRegistry.getInstance().hasEnergyValue(itemStack) && AbilityRegistry.getInstance().isRecoverable(itemStack); + } + } } diff --git a/src/main/java/com/pahimar/ee3/inventory/SlotAlchemicalBag.java b/src/main/java/com/pahimar/ee3/inventory/SlotAlchemicalBag.java deleted file mode 100644 index 244e0797..00000000 --- a/src/main/java/com/pahimar/ee3/inventory/SlotAlchemicalBag.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.pahimar.ee3.inventory; - -import com.pahimar.ee3.item.ItemAlchemicalBag; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotAlchemicalBag extends Slot -{ - private final EntityPlayer entityPlayer; - private ContainerAlchemicalBag containerAlchemicalBag; - - public SlotAlchemicalBag(ContainerAlchemicalBag containerAlchemicalBag, IInventory inventory, EntityPlayer entityPlayer, int slotIndex, int x, int y) - { - super(inventory, slotIndex, x, y); - this.entityPlayer = entityPlayer; - this.containerAlchemicalBag = containerAlchemicalBag; - } - - @Override - public void onSlotChange(ItemStack itemStack1, ItemStack itemStack2) - { - super.onSlotChange(itemStack1, itemStack2); - containerAlchemicalBag.saveInventory(entityPlayer); - } - - /** - * Check if the stack is a valid item for this slot. Always true beside for the armor slots. - */ - @Override - public boolean isItemValid(ItemStack itemStack) - { - return !(itemStack.getItem() instanceof ItemAlchemicalBag); - } -} diff --git a/src/main/java/com/pahimar/ee3/inventory/SlotCalcinator.java b/src/main/java/com/pahimar/ee3/inventory/SlotCalcinator.java deleted file mode 100644 index dafde3f5..00000000 --- a/src/main/java/com/pahimar/ee3/inventory/SlotCalcinator.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.pahimar.ee3.inventory; - -import cpw.mods.fml.common.FMLCommonHandler; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotCalcinator extends Slot -{ - public SlotCalcinator(IInventory inventory, int slotIndex, int x, int y) - { - super(inventory, slotIndex, x, y); - } - - @Override - public void onPickupFromSlot(EntityPlayer entityPlayer, ItemStack itemStack) - { - super.onPickupFromSlot(entityPlayer, itemStack); - FMLCommonHandler.instance().firePlayerCraftingEvent(entityPlayer, itemStack, inventory); - } - - @Override - public boolean isItemValid(ItemStack itemStack) - { - return false; - } -} diff --git a/src/main/java/com/pahimar/ee3/inventory/SlotTabletInput.java b/src/main/java/com/pahimar/ee3/inventory/SlotTabletInput.java deleted file mode 100644 index bb4f4931..00000000 --- a/src/main/java/com/pahimar/ee3/inventory/SlotTabletInput.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.pahimar.ee3.inventory; - -import com.pahimar.ee3.exchange.EnergyValueRegistry; -import com.pahimar.ee3.knowledge.AbilityRegistry; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotTabletInput extends Slot -{ - public SlotTabletInput(IInventory iInventory, int slotIndex, int x, int y) - { - super(iInventory, slotIndex, x, y); - } - - @Override - public boolean isItemValid(ItemStack itemStack) - { - return EnergyValueRegistry.getInstance().hasEnergyValue(itemStack) && AbilityRegistry.getInstance().isRecoverable(itemStack); - } -} diff --git a/src/main/java/com/pahimar/ee3/inventory/SlotTabletOutput.java b/src/main/java/com/pahimar/ee3/inventory/SlotTabletOutput.java deleted file mode 100644 index e4e3f8a2..00000000 --- a/src/main/java/com/pahimar/ee3/inventory/SlotTabletOutput.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.pahimar.ee3.inventory; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class SlotTabletOutput extends Slot -{ - public SlotTabletOutput(IInventory iInventory, int slotIndex, int x, int y) - { - super(iInventory, slotIndex, x, y); - } - - @Override - public void onPickupFromSlot(EntityPlayer entityPlayer, ItemStack itemStack) - { - - } - - @Override - public boolean isItemValid(ItemStack itemStack) - { - return false; - } -}