From e227cdc927d89ce8ba2963c674dd450b50274483 Mon Sep 17 00:00:00 2001 From: Towdium Date: Wed, 24 Feb 2016 15:13:59 +0800 Subject: [PATCH] Starting on record edit --- .../core/ItemStackWrapper.java | 56 +++++++++++++ .../event/GuiEventHandler.java | 11 ++- .../justEnoughCalculation/gui/GuiHandler.java | 19 +++-- .../gui/{ => commom}/GuiTooltipScreen.java | 2 +- .../recipe/ContainerRecipe.java} | 20 ++--- .../recipe/GuiRecipe.java} | 39 ++++----- .../gui/commom/recipe/InventoryRecipe.java | 12 +++ .../calculator/ContainerCalculator.java | 2 +- .../{ => guis}/calculator/GuiCalculator.java | 12 ++- .../calculator/InventoryCalculator.java | 2 +- .../itemPicker/ContainerItemPicker.java | 2 +- .../{ => guis}/itemPicker/GuiItemPicker.java | 2 +- .../itemPicker/InventoryItemPicker.java | 2 +- .../recipeEditor/ContainerRecipeEditor.java | 10 +++ .../guis/recipeEditor/GuiRecipeEditor.java | 55 +++++++++++++ .../guis/recipePicker/GuiRecipePicker.java | 76 ++++++++++++++++++ .../recipeEditor/InventoryRecipeEditor.java | 15 ---- .../item/ItemCalculator.java | 2 +- .../network/IPlayerHandler.java | 4 + .../network/PlayerHandlerClient.java | 10 +++ .../network/PlayerHandlerServer.java | 10 +++ .../plugin/NormalRecipeTransferHandler.java | 2 +- .../assets/je_calculation/lang/en_US.lang | 1 + .../{guiRecipeEditor.png => guiRecipe.png} | Bin 24 files changed, 287 insertions(+), 79 deletions(-) rename src/main/java/pers/towdium/justEnoughCalculation/gui/{ => commom}/GuiTooltipScreen.java (99%) rename src/main/java/pers/towdium/justEnoughCalculation/gui/{recipeEditor/ContainerRecipeEditor.java => commom/recipe/ContainerRecipe.java} (81%) rename src/main/java/pers/towdium/justEnoughCalculation/gui/{recipeEditor/GuiRecipeEditor.java => commom/recipe/GuiRecipe.java} (67%) create mode 100644 src/main/java/pers/towdium/justEnoughCalculation/gui/commom/recipe/InventoryRecipe.java rename src/main/java/pers/towdium/justEnoughCalculation/gui/{ => guis}/calculator/ContainerCalculator.java (95%) rename src/main/java/pers/towdium/justEnoughCalculation/gui/{ => guis}/calculator/GuiCalculator.java (95%) rename src/main/java/pers/towdium/justEnoughCalculation/gui/{ => guis}/calculator/InventoryCalculator.java (81%) rename src/main/java/pers/towdium/justEnoughCalculation/gui/{ => guis}/itemPicker/ContainerItemPicker.java (94%) rename src/main/java/pers/towdium/justEnoughCalculation/gui/{ => guis}/itemPicker/GuiItemPicker.java (98%) rename src/main/java/pers/towdium/justEnoughCalculation/gui/{ => guis}/itemPicker/InventoryItemPicker.java (77%) create mode 100644 src/main/java/pers/towdium/justEnoughCalculation/gui/guis/recipeEditor/ContainerRecipeEditor.java create mode 100644 src/main/java/pers/towdium/justEnoughCalculation/gui/guis/recipeEditor/GuiRecipeEditor.java create mode 100644 src/main/java/pers/towdium/justEnoughCalculation/gui/guis/recipePicker/GuiRecipePicker.java delete mode 100644 src/main/java/pers/towdium/justEnoughCalculation/gui/recipeEditor/InventoryRecipeEditor.java rename src/main/resources/assets/je_calculation/textures/gui/{guiRecipeEditor.png => guiRecipe.png} (100%) diff --git a/src/main/java/pers/towdium/justEnoughCalculation/core/ItemStackWrapper.java b/src/main/java/pers/towdium/justEnoughCalculation/core/ItemStackWrapper.java index b8cfeaa..a177ba8 100644 --- a/src/main/java/pers/towdium/justEnoughCalculation/core/ItemStackWrapper.java +++ b/src/main/java/pers/towdium/justEnoughCalculation/core/ItemStackWrapper.java @@ -114,4 +114,60 @@ public class ItemStackWrapper { else return 0; } } + + public static class Click { + public static boolean leftClick(ItemStack itemStack, boolean doChange){ + if(itemStack == null || itemStack.stackSize>=64){ + return false; + }else { + if(doChange){ + itemStack.stackSize += 1; + } + return true; + } + } + + public static boolean leftShift(ItemStack itemStack, boolean doChange){ + if(itemStack == null || itemStack.stackSize>=64){ + return false; + }else { + if(doChange){ + if(itemStack.stackSize == 1){ + itemStack.stackSize = 10; + }else if(itemStack.stackSize <= 54){ + itemStack.stackSize += 10; + }else { + itemStack.stackSize = 64; + } + } + return true; + } + } + + public static boolean rightClick(ItemStack itemStack, boolean doChange){ + if(itemStack == null){ + return false; + }else { + if(doChange){ + itemStack.stackSize -= 1; + } + return true; + } + } + + public static boolean rightShift(ItemStack itemStack, boolean doChange){ + if(itemStack == null || itemStack.stackSize>=64){ + return false; + }else { + if(doChange){ + if(itemStack.stackSize <= 10){ + itemStack.stackSize = 0; + } else { + itemStack.stackSize -= 10; + } + } + return true; + } + } + } } diff --git a/src/main/java/pers/towdium/justEnoughCalculation/event/GuiEventHandler.java b/src/main/java/pers/towdium/justEnoughCalculation/event/GuiEventHandler.java index 5cbe78d..79bb0f5 100644 --- a/src/main/java/pers/towdium/justEnoughCalculation/event/GuiEventHandler.java +++ b/src/main/java/pers/towdium/justEnoughCalculation/event/GuiEventHandler.java @@ -8,10 +8,9 @@ import net.minecraftforge.client.event.GuiScreenEvent; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import org.lwjgl.input.Mouse; -import pers.towdium.justEnoughCalculation.gui.calculator.ContainerCalculator; -import pers.towdium.justEnoughCalculation.gui.calculator.GuiCalculator; -import pers.towdium.justEnoughCalculation.gui.recipeEditor.ContainerRecipeEditor; -import pers.towdium.justEnoughCalculation.gui.recipeEditor.GuiRecipeEditor; +import pers.towdium.justEnoughCalculation.gui.guis.calculator.ContainerCalculator; +import pers.towdium.justEnoughCalculation.gui.guis.calculator.GuiCalculator; +import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.GuiRecipeEditor; import pers.towdium.justEnoughCalculation.plugin.JEIPlugin; import java.util.Date; @@ -38,7 +37,7 @@ public class GuiEventHandler { time = new Date().getTime(); if(guiContainer.getSlotUnderMouse() != null){ guiContainer.setActiveSlot(guiContainer.getSlotUnderMouse().getSlotIndex()); - ((ContainerRecipeEditor)((GuiRecipeEditor) event.gui).inventorySlots).getPlayer().playSound("random.click", 1f, 1f ); + event.gui.mc.thePlayer.playSound("random.click", 1f, 1f ); event.setCanceled(true); return; } @@ -47,7 +46,7 @@ public class GuiEventHandler { boolean over = ((ItemListOverlay)JEIPlugin.runtime.getItemListOverlay()).isMouseOver(x, y); if(!over || (y>25 && y recipes; + int index; + + public GuiRecipePicker(ContainerRecipe containerRecipe, GuiScreen parent){ + super(containerRecipe, parent); + } + + public GuiRecipePicker(ContainerRecipe containerRecipe){ + super(containerRecipe); + } + + @Override + public void initGui() { + super.initGui(); + buttonList.add(new GuiButton(16, guiLeft+125, guiTop+7, 20, 20, StatCollector.translateToLocal("<"))); + buttonList.add(new GuiButton(17, guiLeft+149, guiTop+7, 20, 20, StatCollector.translateToLocal(">"))); + buttonList.add(new GuiButton(18, guiLeft+125, guiTop+31, 44, 20, StatCollector.translateToLocal("gui.recipePicker.delete"))); + } + + @Override + protected void actionPerformed(GuiButton button) throws IOException { + super.actionPerformed(button); + int buttonId = button.id; + if(buttonId == 16) { + if(index>0){ + index--; + updateLayout(); + } + }else if(buttonId == 17) { + if(index getAllUnsortedRecipeIndexOf(ItemStack itemStack){ ImmutableList.Builder builder = new ImmutableList.Builder<>(); int size = recipes.size(); diff --git a/src/main/java/pers/towdium/justEnoughCalculation/network/PlayerHandlerServer.java b/src/main/java/pers/towdium/justEnoughCalculation/network/PlayerHandlerServer.java index a095719..e2cc001 100644 --- a/src/main/java/pers/towdium/justEnoughCalculation/network/PlayerHandlerServer.java +++ b/src/main/java/pers/towdium/justEnoughCalculation/network/PlayerHandlerServer.java @@ -80,6 +80,16 @@ public class PlayerHandlerServer implements IPlayerHandler { players.get(UUID.fromString(event.playerUUID)).handleSave(event); } + @Override + public boolean removeRecipe(Recipe recipe, UUID uuid) { + return false; + } + + @Override + public boolean containsRecipe(Recipe recipe, UUID uuid) { + return false; + } + public PlayerHandlerClient getClient(UUID uuid){ return players.get(uuid); } diff --git a/src/main/java/pers/towdium/justEnoughCalculation/plugin/NormalRecipeTransferHandler.java b/src/main/java/pers/towdium/justEnoughCalculation/plugin/NormalRecipeTransferHandler.java index b1043ce..38ccb77 100644 --- a/src/main/java/pers/towdium/justEnoughCalculation/plugin/NormalRecipeTransferHandler.java +++ b/src/main/java/pers/towdium/justEnoughCalculation/plugin/NormalRecipeTransferHandler.java @@ -8,7 +8,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import pers.towdium.justEnoughCalculation.core.ItemStackWrapper; -import pers.towdium.justEnoughCalculation.gui.recipeEditor.ContainerRecipeEditor; +import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.ContainerRecipeEditor; import javax.annotation.Nonnull; import javax.annotation.Nullable; diff --git a/src/main/resources/assets/je_calculation/lang/en_US.lang b/src/main/resources/assets/je_calculation/lang/en_US.lang index d766e62..55c7bdc 100644 --- a/src/main/resources/assets/je_calculation/lang/en_US.lang +++ b/src/main/resources/assets/je_calculation/lang/en_US.lang @@ -8,6 +8,7 @@ gui.calculator.editTooltip=Edit records of recipes gui.calculator.addTooltip=Add preferred recipe gui.itemPicker.confirm=Confirm gui.itemPicker.search=Search +gui.recipePicker.delete=Delete gui.recipeEditor.save=Save gui.recipeEditor.clear=Clear item.itemCalculator.name=Calculator diff --git a/src/main/resources/assets/je_calculation/textures/gui/guiRecipeEditor.png b/src/main/resources/assets/je_calculation/textures/gui/guiRecipe.png similarity index 100% rename from src/main/resources/assets/je_calculation/textures/gui/guiRecipeEditor.png rename to src/main/resources/assets/je_calculation/textures/gui/guiRecipe.png