feat: little improvements

This commit is contained in:
Discreater committed 2021-04-29 03:28:40 +08:00
1 parent 08de334d98
commit aba34b6acd
33 files changed
+134 -12

No files matched your search

@@ -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<ILabel> callback);
@@ -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;
@@ -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;
@@ -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);
@@ -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);
@@ -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);
@@ -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<IWidget> widgets = new ArrayList<>();
protected JecGui gui;
@@ -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;
@@ -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;
@@ -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<WLabel> labels = new ArrayList<>();
@@ -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<ILabel> labels = new ArrayList<>();
protected List<ILabel> filtered = new ArrayList<>();
@@ -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;
@@ -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 {
@@ -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) {
@@ -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;
@@ -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<Float> lsnrScroll;
@@ -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<WLabelScroll> lss;
@@ -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) {
@@ -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;
@@ -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;
@@ -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;
@@ -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());
@@ -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;
@@ -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<ILabel> callback;
@@ -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"));
@@ -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 {
@@ -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));
@@ -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 {
@@ -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);
@@ -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);
}
@@ -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<ItemStack> list = NonNullList.create();
OreDictionary.getOres(name).forEach(is -> {
@@ -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);