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