diff --git a/src/main/java/me/towdium/jecalculation/client/gui/IWPicker.java b/src/main/java/me/towdium/jecalculation/client/gui/IWPicker.java index 61cdc5e..b190098 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/IWPicker.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/IWPicker.java @@ -1,15 +1,20 @@ package me.towdium.jecalculation.client.gui; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.drawables.WContainer; import me.towdium.jecalculation.core.labels.ILabel; import me.towdium.jecalculation.utils.wrappers.Single; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.function.Consumer; /** * Author: towdium * Date: 17-9-28. */ +@ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public interface IWPicker extends IWidget { IWPicker setCallback(Consumer callback); diff --git a/src/main/java/me/towdium/jecalculation/client/gui/JecGui.java b/src/main/java/me/towdium/jecalculation/client/gui/JecGui.java index 1c12d60..7d0ebe1 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/JecGui.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/JecGui.java @@ -1,6 +1,8 @@ package me.towdium.jecalculation.client.gui; import cpw.mods.fml.client.config.GuiUtils; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.JustEnoughCalculation; import me.towdium.jecalculation.core.labels.ILabel; import me.towdium.jecalculation.nei.NEIPlugin; @@ -37,6 +39,7 @@ import java.util.function.Function; * Date: 8/12/17. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class JecGui extends GuiContainer { public static final int COLOR_GUI_GREY = 0xFFA1A1A1; public static final int COLOR_TEXT_RED = 0xFF0000; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/Resource.java b/src/main/java/me/towdium/jecalculation/client/gui/Resource.java index 9da9a12..e22e923 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/Resource.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/Resource.java @@ -1,12 +1,18 @@ package me.towdium.jecalculation.client.gui; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.JustEnoughCalculation; import net.minecraft.util.ResourceLocation; +import javax.annotation.ParametersAreNonnullByDefault; + /** * Author: towdium * Date: 17-8-17. */ +@ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class Resource { public static final ResourceLocation location = new ResourceLocation( JustEnoughCalculation.Reference.MODID, "textures/gui/resources.png"); @@ -20,16 +26,16 @@ public class Resource { public static final Resource BTN_SAVE_F = new Resource(42, 0, 14, 14); public static final Resource BTN_COPY_N = new Resource(56, 14, 14, 14); public static final Resource BTN_COPY_F = new Resource(56, 0, 14, 14); + public static final Resource BTN_COPY_D = new Resource(242, 14, 14, 14); public static final Resource BTN_DEL_N = new Resource(70, 14, 14, 14); public static final Resource BTN_DEL_F = new Resource(70, 0, 14, 14); public static final Resource BTN_YES_N = new Resource(84, 14, 14, 14); public static final Resource BTN_YES_F = new Resource(84, 0, 14, 14); public static final Resource BTN_NO_N = new Resource(98, 14, 14, 14); public static final Resource BTN_NO_F = new Resource(98, 0, 14, 14); - public static final Resource BTN_DISAMB_D = new Resource(242, 0, 14, 14); - public static final Resource BTN_COPY_D = new Resource(242, 14, 14, 14); public static final Resource BTN_DISAMB_N = new Resource(112, 14, 14, 14); public static final Resource BTN_DISAMB_F = new Resource(112, 0, 14, 14); + public static final Resource BTN_DISAMB_D = new Resource(242, 0, 14, 14); public static final Resource WGT_BUTTON_N = new Resource(40, 232, 20, 20); public static final Resource WGT_BUTTON_F = new Resource(60, 232, 20, 20); public static final Resource WGT_BUTTON_D = new Resource(80, 232, 20, 20); @@ -60,11 +66,14 @@ public class Resource { public static final Resource ICN_LABEL_F = new Resource(70, 28, 14, 14); public static final Resource ICN_HELP_N = new Resource(84, 42, 14, 14); public static final Resource ICN_HELP_F = new Resource(84, 28, 14, 14); + public static final Resource ICN_STACK_N = new Resource(98, 42, 14, 14); + public static final Resource ICN_STACK_F = new Resource(98, 28, 14, 14); + public static final Resource ICN_TEXT_N = new Resource(112, 42, 14, 14); + public static final Resource ICN_TEXT_F = new Resource(112, 28, 14, 14); public static final Resource LBL_ORE_DICT = new Resource(0, 56, 16, 16); public static final Resource LBL_FLUID = new Resource(16, 56, 16, 16); public static final Resource LBL_UNIV_B = new Resource(32, 56, 16, 16); public static final Resource LBL_UNIV_F = new Resource(48, 56, 16, 16); - protected int xPos, yPos, xSize, ySize; protected ResourceLocation rl; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButton.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButton.java index a90f7c9..bd2d5fe 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButton.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButton.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; import me.towdium.jecalculation.utils.ClientUtils; @@ -13,6 +15,7 @@ import javax.annotation.ParametersAreNonnullByDefault; * Date: 17-8-17. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public abstract class WButton extends WTooltip { protected int xPos, yPos, xSize, ySize; protected Runnable lsnrLeft, lsnrRight; @@ -47,7 +50,7 @@ public abstract class WButton extends WTooltip { @Override public boolean onClicked(JecGui gui, int xMouse, int yMouse, int button) { - if (JecGui.mouseIn(xPos + 1, yPos + 1, xSize - 2, ySize - 2, xMouse, yMouse)) { + if (!disabled && JecGui.mouseIn(xPos + 1, yPos + 1, xSize - 2, ySize - 2, xMouse, yMouse)) { if (button == 0 && lsnrLeft != null) { lsnrLeft.run(); ClientUtils.playClickSound(1.0F); diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButtonIcon.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButtonIcon.java index 6cd72e1..90bdab5 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButtonIcon.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButtonIcon.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; @@ -14,6 +16,7 @@ import java.util.List; * Date: 17-9-16. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WButtonIcon extends WButton { protected Resource rNormal, rFocused, rDisabled; @@ -25,6 +28,10 @@ public class WButtonIcon extends WButton { this(xPos, yPos, xSize, ySize, normal, focused, null, name); } + public WButtonIcon(int xPos, int yPos, int xSize, int ySize, Resource normal, Resource focused, Resource disabled) { + this(xPos, yPos, xSize, ySize, normal, focused, disabled, null); + } + public WButtonIcon(int xPos, int yPos, int xSize, int ySize, Resource normal, Resource focused, @Nullable Resource disabled, @Nullable String name) { super(xPos, yPos, xSize, ySize, name); diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButtonText.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButtonText.java index dc1c2c3..8755362 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButtonText.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WButtonText.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.utils.Utilities; @@ -10,6 +12,7 @@ import javax.annotation.ParametersAreNonnullByDefault; * Date: 17-9-16. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WButtonText extends WButton { public WButtonText(int xPos, int yPos, int xSize, int ySize, String name) { super(xPos, yPos, xSize, ySize, name); diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WContainer.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WContainer.java index 8f6275c..d02cab3 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WContainer.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WContainer.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.IWidget; @@ -12,6 +14,7 @@ import java.util.List; * Date: 17-9-14. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WContainer implements IWidget { protected List widgets = new ArrayList<>(); protected JecGui gui; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WIcon.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WIcon.java index 6799642..a3e6f8d 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WIcon.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WIcon.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; @@ -12,6 +14,7 @@ import javax.annotation.ParametersAreNonnullByDefault; * Date: 17-8-18. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WIcon extends WTooltip { public int xPos, yPos, xSize, ySize; public Resource normal, focused; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabel.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabel.java index 54da7cf..23c7a43 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabel.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabel.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; @@ -16,6 +18,7 @@ import java.util.stream.IntStream; * Date: 17-8-17. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WLabel implements IWidget { static JecGui.Font font; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabelGroup.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabelGroup.java index 7a0d0d6..ff83319 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabelGroup.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabelGroup.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.core.labels.ILabel; @@ -16,6 +18,7 @@ import java.util.stream.IntStream; * Date: 17-8-17. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WLabelGroup extends WContainer { ArrayList labels = new ArrayList<>(); diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabelScroll.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabelScroll.java index ba95e59..e10251d 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabelScroll.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLabelScroll.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.core.labels.ILabel; import me.towdium.jecalculation.utils.Utilities; @@ -14,6 +16,7 @@ import java.util.stream.Collectors; * Date: 17-9-17. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WLabelScroll extends WContainer { protected List labels = new ArrayList<>(); protected List filtered = new ArrayList<>(); diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLine.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLine.java index 33439b7..1e79ee4 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLine.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WLine.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; @@ -11,6 +13,7 @@ import javax.annotation.ParametersAreNonnullByDefault; * Date: 17-8-18. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WLine implements IWidget { public int y; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WPage.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WPage.java index 8a48432..2fbab47 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WPage.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WPage.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; @@ -13,6 +15,7 @@ import javax.annotation.ParametersAreNonnullByDefault; * Date: 17-9-16. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WPage implements IWidget { diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WPanel.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WPanel.java index b4df862..53edf00 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WPanel.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WPanel.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; @@ -11,6 +13,7 @@ import javax.annotation.ParametersAreNonnullByDefault; * Date: 17-9-15. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WPanel implements IWidget { @Override public void onDraw(JecGui gui, int xMouse, int yMouse) { diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WRectangle.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WRectangle.java index 091c939..dc5fa62 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WRectangle.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WRectangle.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; @@ -10,6 +12,7 @@ import javax.annotation.ParametersAreNonnullByDefault; * Date: 17-8-22. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WRectangle implements IWidget { public int xPos, yPos, xSize, ySize, color; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WScroll.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WScroll.java index 1e366fc..e11a2c5 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WScroll.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WScroll.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; @@ -13,6 +15,7 @@ import java.util.function.Consumer; * Date: 17-8-19. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WScroll implements IWidget { public int xPos, yPos, ySize, current; public Consumer lsnrScroll; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WSearch.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WSearch.java index 4705ac6..42a1e14 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WSearch.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WSearch.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.core.labels.ILabel; @@ -13,6 +15,7 @@ import java.util.function.Consumer; * Date: 17-9-28. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WSearch extends WContainer { WTextField tf; List lss; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WSwitcher.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WSwitcher.java index b705318..6227ebf 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WSwitcher.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WSwitcher.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; @@ -17,6 +19,7 @@ import java.util.stream.Stream; * Date: 17-8-19. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WSwitcher implements IWidget { public static final int SIZE = 13; @@ -38,14 +41,18 @@ public class WSwitcher implements IWidget { this.xSize = xSize; this.yPos = yPos; this.keys = keys; - left = new WButtonIcon(xPos, yPos, SIZE, SIZE, Resource.WGT_ARR_L_N, Resource.WGT_ARR_L_F) - .setListenerLeft(() -> move(true)); - right = new WButtonIcon(xPos + xSize - SIZE, yPos, SIZE, SIZE, Resource.WGT_ARR_R_N, Resource.WGT_ARR_R_F) - .setListenerLeft(() -> move(false)); + left = new WButtonIcon(xPos, yPos, SIZE, SIZE, Resource.WGT_ARR_L_N, Resource.WGT_ARR_L_F, + Resource.WGT_ARR_L_D).setListenerLeft(() -> move(true)); + right = new WButtonIcon(xPos + xSize - SIZE, yPos, SIZE, SIZE, Resource.WGT_ARR_R_N, Resource.WGT_ARR_R_F, + Resource.WGT_ARR_R_D).setListenerLeft(() -> move(false)); wRect = new WRectangle(xPos + SIZE, yPos, xSize - 2 * SIZE, SIZE, JecGui.COLOR_GUI_GREY); wText = new WText(xPos + SIZE, yPos, xSize - 2 * SIZE, SIZE, JecGui.Font.DEFAULT_SHADOW, () -> keys.get(index.index())); index = new Circulator(keys.size()); + if (keys.size() == 1) { + left.setDisabled(true); + right.setDisabled(true); + } } protected void move(boolean forward) { diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WText.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WText.java index 04cc299..264138b 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WText.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WText.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; @@ -11,6 +13,7 @@ import java.util.function.Supplier; * Date: 17-8-21. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WText implements IWidget { public static final int UNDEFINED = Integer.MAX_VALUE; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WTextField.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WTextField.java index 9c9653d..6272d71 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WTextField.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WTextField.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.IWidget; import net.minecraft.client.Minecraft; @@ -13,6 +15,7 @@ import java.util.function.Consumer; * Date: 17-8-18. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class WTextField implements IWidget { protected int xPos, yPos, xSize; GuiTextField textField; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WTooltip.java b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WTooltip.java index 3546455..8b29d8b 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/drawables/WTooltip.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/drawables/WTooltip.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.drawables; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.utils.Utilities; @@ -15,6 +17,7 @@ import java.util.List; * Date: 17-9-16. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public abstract class WTooltip implements IWidget { @Nullable public String name; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiCalculator.java b/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiCalculator.java index 4206d32..f126d2a 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiCalculator.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiCalculator.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.guis; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; import me.towdium.jecalculation.client.gui.drawables.*; @@ -13,6 +15,7 @@ import static me.towdium.jecalculation.client.gui.drawables.WLabel.enumMode.*; * Date: 8/14/17. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class GuiCalculator extends WContainer { public GuiCalculator() { add(new WPanel()); diff --git a/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiDisambiguation.java b/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiDisambiguation.java index a693c80..8fc6e38 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiDisambiguation.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiDisambiguation.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.guis; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWPicker; import me.towdium.jecalculation.client.gui.Resource; import me.towdium.jecalculation.client.gui.drawables.*; @@ -7,6 +9,7 @@ import me.towdium.jecalculation.core.labels.ILabel; import me.towdium.jecalculation.core.labels.labels.LabelOreDict; import net.minecraft.item.ItemStack; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -16,6 +19,8 @@ import java.util.stream.IntStream; * Author: towdium * Date: 17-9-16. */ +@ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class GuiDisambiguation extends IWPicker.Simple { protected WLabelScroll lsUp; protected WLabelScroll lsDown; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiLabel.java b/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiLabel.java index cc7fd7d..0a7b279 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiLabel.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiLabel.java @@ -4,6 +4,8 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.cache.Weigher; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWidget; import me.towdium.jecalculation.client.gui.drawables.WContainer; import me.towdium.jecalculation.client.gui.drawables.WPage; @@ -19,6 +21,7 @@ import java.util.function.Consumer; * Date: 17-9-14. */ @ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class GuiLabel extends WContainer { WContainer container = new WContainer(); Consumer callback; diff --git a/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiRecipe.java b/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiRecipe.java index 08b514a..07b3078 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiRecipe.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/guis/GuiRecipe.java @@ -24,7 +24,11 @@ public class GuiRecipe extends WContainer { WButton buttonCopy = new WButtonIcon(83, 33, 20, 20, Resource.BTN_COPY_N, Resource.BTN_COPY_F, Resource.BTN_COPY_D, "recipe.copy").setDisabled(true); WButton buttonDel = new WButtonIcon(64, 33, 20, 20, Resource.BTN_DEL_N, Resource.BTN_DEL_F, "recipe.clear"); - WButton buttonLabel = new WButtonIcon(45, 33, 20, 20, Resource.BTN_LABEL_N, Resource.BTN_LABEL_F, "recipe.label"); + WButton buttonLabel = new WButtonIcon(45, 33, 20, 20, Resource.BTN_LABEL_N, Resource.BTN_LABEL_F, "recipe.label") + .setListenerLeft(() -> JecGui.displayGui(new GuiLabel((l) -> { + JecGui.displayParent(); + JecGui.getCurrent().hand = l; + }))); WButton buttonDisamb = new WButtonIcon(102, 33, 20, 20, Resource.BTN_DISAMB_N, Resource.BTN_DISAMB_F, Resource.BTN_DISAMB_D, "recipe.disamb").setDisabled(true).setListenerLeft(() -> { if (disambiguation != null) JecGui.displayGui(new GuiDisambiguation(disambiguation).setCallback(l -> { @@ -43,7 +47,7 @@ public class GuiRecipe extends WContainer { public GuiRecipe() { add(new WPanel()); - add(new WSwitcher(7, 7, 162, 2)); + add(new WSwitcher(7, 7, 162, 1)); add(new WIcon(7, 63, 21, 20, Resource.ICN_OUTPUT_N, Resource.ICN_OUTPUT_F, "recipe.output")); add(new WIcon(7, 87, 21, 20, Resource.ICN_CATALYST_N, Resource.ICN_CATALYST_F, "recipe.catalyst")); add(new WIcon(7, 111, 21, 40, Resource.ICN_INPUT_N, Resource.ICN_INPUT_F, "recipe.input")); diff --git a/src/main/java/me/towdium/jecalculation/client/gui/guis/pickers/PickerSimple.java b/src/main/java/me/towdium/jecalculation/client/gui/guis/pickers/PickerSimple.java index 9ba33b5..2034d75 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/guis/pickers/PickerSimple.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/guis/pickers/PickerSimple.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.client.gui.guis.pickers; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWPicker; import me.towdium.jecalculation.client.gui.Resource; import me.towdium.jecalculation.client.gui.drawables.*; @@ -9,6 +11,7 @@ import me.towdium.jecalculation.core.labels.labels.LabelOreDict; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.oredict.OreDictionary; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -17,6 +20,8 @@ import java.util.stream.Collectors; * Author: towdium * Date: 17-9-28. */ +@ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class PickerSimple extends IWPicker.Simple { /** * @param labels labels to be displayed for selection @@ -28,6 +33,7 @@ public class PickerSimple extends IWPicker.Simple { WTextField tf = new WTextField(25, 7, 90); add(new WSearch(l -> callback.value.accept(l), tf, ls)); add(new WIcon(149, 7, 20, 20, Resource.ICN_HELP_N, Resource.ICN_HELP_F, l18nKey + ".help")); + add(new WIcon(7, 7, 20, 20, Resource.ICN_TEXT_N, Resource.ICN_TEXT_F, l18nKey + ".text")); } public static class FluidStack extends PickerSimple { diff --git a/src/main/java/me/towdium/jecalculation/client/gui/guis/pickers/PickerUniversal.java b/src/main/java/me/towdium/jecalculation/client/gui/guis/pickers/PickerUniversal.java index b49fcac..5ec8e7e 100644 --- a/src/main/java/me/towdium/jecalculation/client/gui/guis/pickers/PickerUniversal.java +++ b/src/main/java/me/towdium/jecalculation/client/gui/guis/pickers/PickerUniversal.java @@ -1,17 +1,22 @@ package me.towdium.jecalculation.client.gui.guis.pickers; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWPicker; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; import me.towdium.jecalculation.client.gui.drawables.*; import me.towdium.jecalculation.core.labels.labels.LabelUniversal; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.ArrayList; /** * Author: towdium * Date: 17-9-29. */ +@ParametersAreNonnullByDefault +@SideOnly(Side.CLIENT) public class PickerUniversal extends IWPicker.Simple { public PickerUniversal() { WLabelScroll scroll = new WLabelScroll(7, 69, 8, 5, WLabel.enumMode.PICKER, true).setLabels(new ArrayList<>()); @@ -21,6 +26,8 @@ public class PickerUniversal extends IWPicker.Simple { add(new WSearch(l -> callback.value.accept(l), search, scroll)); add(new WIcon(149, 45, 20, 20, Resource.ICN_HELP_N, Resource.ICN_HELP_F, "picker_universal.help_search")); add(new WIcon(149, 7, 20, 20, Resource.ICN_HELP_N, Resource.ICN_HELP_F, "picker_universal.help_create")); + add(new WIcon(7, 45, 20, 20, Resource.ICN_TEXT_N, Resource.ICN_TEXT_F, "picker_universal.text_search")); + add(new WIcon(7, 7, 20, 20, Resource.ICN_TEXT_N, Resource.ICN_TEXT_F, "picker_universal.text_create")); add(new WLine(36)); add(new WButtonIcon(95, 7, 20, 20, Resource.BTN_YES_N, Resource.BTN_YES_F).setListenerLeft(() -> { if (!create.getText().equals("")) callback.value.accept(new LabelUniversal(create.getText(), 1)); diff --git a/src/main/java/me/towdium/jecalculation/core/labels/ILabel.java b/src/main/java/me/towdium/jecalculation/core/labels/ILabel.java index 765f2e2..e5eb79a 100644 --- a/src/main/java/me/towdium/jecalculation/core/labels/ILabel.java +++ b/src/main/java/me/towdium/jecalculation/core/labels/ILabel.java @@ -1,6 +1,8 @@ package me.towdium.jecalculation.core.labels; import com.google.common.base.CaseFormat; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.IWPicker; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.guis.pickers.PickerSimple; @@ -67,6 +69,7 @@ public interface ILabel { NBTTagCompound toNBTTagCompound(); + @SideOnly(Side.CLIENT) default void drawLabel(JecGui gui, int xPos, int yPos, boolean center) { GlStateManager.pushMatrix(); GlStateManager.translate(center ? xPos - 8 : xPos, center ? yPos - 8 : yPos, 0); @@ -81,8 +84,7 @@ public interface ILabel { * implement on both side. So this class is created for merging * {@link ILabel label(s)}. * It uses singleton mode. First registerGuess merge functions, then use - * {@link #test(ILabel, ILabel)} and {@link #merge(ILabel, ILabel, boolean)} - * to operate the {@link ILabel}. + * {@link #merge(ILabel, ILabel, boolean)} to operate the {@link ILabel}. * For registering, see {@link RegistryDeserializer}. */ class RegistryMerger { diff --git a/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelFluidStack.java b/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelFluidStack.java index 646b4d2..d252035 100644 --- a/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelFluidStack.java +++ b/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelFluidStack.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.core.labels.labels; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; import me.towdium.jecalculation.core.labels.ILabel; @@ -87,6 +89,7 @@ public class LabelFluidStack implements ILabel { } @Override + @SideOnly(Side.CLIENT) public void drawLabel(JecGui gui) { gui.drawResource(Resource.LBL_FLUID, 0, 0); gui.drawFluid(fluid.getFluid(), 2, 2, 12, 12); diff --git a/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelItemStack.java b/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelItemStack.java index ad711e0..4be4804 100644 --- a/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelItemStack.java +++ b/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelItemStack.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.core.labels.labels; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.core.labels.ILabel; import me.towdium.jecalculation.utils.Utilities; @@ -67,6 +69,7 @@ public class LabelItemStack extends LabelSimpleAmount { } @Override + @SideOnly(Side.CLIENT) public void drawLabel(JecGui gui) { gui.drawItemStack(0, 0, itemStack, false); } diff --git a/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelOreDict.java b/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelOreDict.java index 8a355a4..b969225 100644 --- a/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelOreDict.java +++ b/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelOreDict.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.core.labels.labels; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.JustEnoughCalculation; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; @@ -70,6 +72,7 @@ public class LabelOreDict extends LabelSimpleAmount { } @Override + @SideOnly(Side.CLIENT) public void drawLabel(JecGui gui) { NonNullList list = NonNullList.create(); OreDictionary.getOres(name).forEach(is -> { diff --git a/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelUniversal.java b/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelUniversal.java index c38ece6..b129940 100644 --- a/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelUniversal.java +++ b/src/main/java/me/towdium/jecalculation/core/labels/labels/LabelUniversal.java @@ -1,5 +1,7 @@ package me.towdium.jecalculation.core.labels.labels; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import me.towdium.jecalculation.client.gui.JecGui; import me.towdium.jecalculation.client.gui.Resource; import me.towdium.jecalculation.core.labels.ILabel; @@ -46,6 +48,7 @@ public class LabelUniversal extends LabelSimpleAmount { } @Override + @SideOnly(Side.CLIENT) public void drawLabel(JecGui gui) { gui.drawResource(Resource.LBL_UNIV_B, 0, 0); gui.drawResource(Resource.LBL_UNIV_F, 0, 0, (name.hashCode() * 0x131723) & 0xFFFFFF); diff --git a/src/main/resources/assets/jecalculation/lang/en_US.lang b/src/main/resources/assets/jecalculation/lang/en_US.lang index 388588a..2cbee02 100644 --- a/src/main/resources/assets/jecalculation/lang/en_US.lang +++ b/src/main/resources/assets/jecalculation/lang/en_US.lang @@ -13,6 +13,7 @@ command.state.s_undefined=error state gui.gui_calculator.new_recipe.name=New recipe gui.common.label.ore_dict=OreDict gui.common.label.fluid_stack=Fluid +gui.common.label.universal=Universal config.force_client=Force Client