mirror of
https://github.com/GTNewHorizons/JustEnoughCalculation.git
synced 2026-11-14 01:04:06 +00:00
feat: framework tweaked
This commit is contained in:
1 parent
8ee76a5f8a
commit
5bbc857407
42 files changed
+317
-176
No files matched your search
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.data.label;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWPicker;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.guis.pickers.PickerSimple;
|
||||
import me.towdium.jecalculation.gui.guis.pickers.PickerUniversal;
|
||||
import me.towdium.jecalculation.data.label.labels.LFluidStack;
|
||||
@@ -37,7 +37,7 @@ public interface ILabel {
|
||||
Serializer DESERIALIZER = new Serializer();
|
||||
Converter CONVERTER = new Converter();
|
||||
RegistryEditor EDITOR = new RegistryEditor();
|
||||
ILabel EMPTY = new LItemStack(ItemStackHelper.EMPTY_ITEM_STACK, 0);
|
||||
ILabel EMPTY = new LEmpty();
|
||||
|
||||
String FORMAT_BLUE = "\u00A79";
|
||||
String FORMAT_GREY = "\u00A78";
|
||||
@@ -63,6 +63,7 @@ public interface ILabel {
|
||||
DESERIALIZER.register(LItemStack.IDENTIFIER, LItemStack::new);
|
||||
DESERIALIZER.register(LOreDict.IDENTIFIER, LOreDict::new);
|
||||
DESERIALIZER.register(LString.IDENTIFIER, LString::new);
|
||||
DESERIALIZER.register(LEmpty.IDENTIFIER, i -> EMPTY);
|
||||
}
|
||||
|
||||
List<String> getToolTip(List<String> existing, boolean detailed);
|
||||
@@ -83,14 +84,14 @@ public interface ILabel {
|
||||
String getIdentifier();
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
default void drawLabel(JecGui gui, int xPos, int yPos, boolean center) {
|
||||
default void drawLabel(JecaGui gui, int xPos, int yPos, boolean center) {
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translate(center ? xPos - 8 : xPos, center ? yPos - 8 : yPos, 0);
|
||||
drawLabel(gui);
|
||||
GlStateManager.popMatrix();
|
||||
}
|
||||
|
||||
void drawLabel(JecGui gui);
|
||||
void drawLabel(JecaGui gui);
|
||||
|
||||
/**
|
||||
* Since {@link ILabel} merging is bidirectional, it is redundant to
|
||||
@@ -112,7 +113,7 @@ public interface ILabel {
|
||||
}
|
||||
|
||||
static Optional<ILabel> mergeItemStackNItemStack(ILabel a, ILabel b, boolean add) {
|
||||
if (a instanceof LItemStack && b instanceof LItemStack && a != ILabel.EMPTY && b != ILabel.EMPTY) {
|
||||
if (a instanceof LItemStack && b instanceof LItemStack) {
|
||||
LItemStack lisA = (LItemStack) a;
|
||||
LItemStack lisB = (LItemStack) b;
|
||||
ItemStack isA = lisA.getItemStack();
|
||||
@@ -194,8 +195,7 @@ public interface ILabel {
|
||||
public ILabel deserialize(NBTTagCompound nbt) {
|
||||
String s = nbt.getString(KEY_IDENTIFIER);
|
||||
ILabel e = idToData.get(s).apply(nbt.getCompoundTag(KEY_CONTENT));
|
||||
if (e != ILabel.EMPTY) return e;
|
||||
else throw new RuntimeException("Fail to deserialize label type: " + s);
|
||||
return idToData.get(s).apply(nbt.getCompoundTag(KEY_CONTENT));
|
||||
}
|
||||
|
||||
public NBTTagCompound serialize(ILabel label) {
|
||||
@@ -259,4 +259,70 @@ public interface ILabel {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class LEmpty implements ILabel {
|
||||
public static final String IDENTIFIER = "empty";
|
||||
|
||||
private LEmpty() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ILabel increaseAmount() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ILabel increaseAmountLarge() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ILabel decreaseAmount() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ILabel decreaseAmountLarge() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ILabel invertAmount() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAmountString() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDisplayName() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getToolTip(List<String> existing, boolean detailed) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ILabel copy() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound toNBTTagCompound() {
|
||||
return new NBTTagCompound();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getIdentifier() {
|
||||
return IDENTIFIER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawLabel(JecaGui gui) {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.data.label.labels;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
import me.towdium.jecalculation.utils.Utilities;
|
||||
@@ -100,7 +100,7 @@ public class LFluidStack implements ILabel {
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void drawLabel(JecGui gui) {
|
||||
public void drawLabel(JecaGui gui) {
|
||||
gui.drawResource(Resource.LBL_FLUID, 0, 0);
|
||||
gui.drawFluid(fluid.getFluid(), 2, 2, 12, 12);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.data.label.labels;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
import me.towdium.jecalculation.utils.Utilities;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -76,7 +76,7 @@ public class LItemStack extends LabelSimpleAmount {
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void drawLabel(JecGui gui) {
|
||||
public void drawLabel(JecaGui gui) {
|
||||
gui.drawItemStack(0, 0, itemStack, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.data.label.labels;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.JustEnoughCalculation;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
import me.towdium.jecalculation.polyfill.mc.client.renderer.GlStateManager;
|
||||
@@ -31,11 +31,6 @@ public class LOreDict extends LabelSimpleAmount {
|
||||
public static final String KEY_AMOUNT = "amount";
|
||||
public static final boolean MODE_FORCE = false;
|
||||
|
||||
|
||||
static {
|
||||
|
||||
}
|
||||
|
||||
protected String name;
|
||||
|
||||
public LOreDict(String name) {
|
||||
@@ -102,7 +97,7 @@ public class LOreDict extends LabelSimpleAmount {
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void drawLabel(JecGui gui) {
|
||||
public void drawLabel(JecaGui gui) {
|
||||
NonNullList<ItemStack> list = NonNullList.create();
|
||||
OreDictionary.getOres(name).forEach(is -> {
|
||||
if (is.getItemDamage() == OreDictionary.WILDCARD_VALUE) {
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.data.label.labels;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
import me.towdium.jecalculation.utils.Utilities;
|
||||
@@ -61,7 +61,7 @@ public class LString extends LabelSimpleAmount {
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void drawLabel(JecGui gui) {
|
||||
public void drawLabel(JecaGui gui) {
|
||||
gui.drawResource(Resource.LBL_UNIV_B, 0, 0);
|
||||
gui.drawResource(Resource.LBL_UNIV_F, 0, 0, (name.hashCode() * 0x131723) & 0xFFFFFF);
|
||||
}
|
||||
|
||||
@@ -8,10 +8,11 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
import java.util.stream.Stream;
|
||||
@@ -95,11 +96,35 @@ public class User {
|
||||
}
|
||||
|
||||
public List<Recipe> search(String group, ILabel label, Recipe.enumIoType type) {
|
||||
HashSet<Recipe> set = new HashSet<>();
|
||||
IntStream.range(0, type.getSize()).forEach(i -> get(group).ifPresent(rs -> rs.forEach(r -> {
|
||||
ILabel.MERGER.merge(label, r.getLabel(type)[i], true).ifPresent(l -> set.add(r));
|
||||
})));
|
||||
return new ArrayList<>(set);
|
||||
return search(records.get(group).map(Collection::stream).orElseGet(Stream::empty),
|
||||
r -> IntStream.range(0, type.getSize()).anyMatch(
|
||||
i -> ILabel.MERGER.merge(label, r.getLabel(type)[i], true).isPresent()));
|
||||
}
|
||||
|
||||
public List<Recipe> search(String group, String label, Recipe.enumIoType type) {
|
||||
return search(records.get(group).map(Collection::stream).orElseGet(Stream::empty),
|
||||
r -> IntStream.range(0, type.getSize()).anyMatch(
|
||||
i -> Utilities.contains(r.getLabel(type)[i].getDisplayName(), label)));
|
||||
}
|
||||
|
||||
public List<Recipe> search(ILabel label, Recipe.enumIoType type) {
|
||||
return search(records.stream().flatMap(i -> i.two.stream()), r -> IntStream.range(0, type.getSize())
|
||||
.anyMatch(i -> ILabel.MERGER
|
||||
.merge(label, r.getLabel(
|
||||
type)[i], true)
|
||||
.isPresent()));
|
||||
}
|
||||
|
||||
public List<Recipe> search(String label, Recipe.enumIoType type) {
|
||||
return search(records.stream().flatMap(i -> i.two.stream()), r -> IntStream.range(0, type.getSize())
|
||||
.anyMatch(i -> Utilities
|
||||
.contains(r.getLabel(
|
||||
type)[i].getDisplayName(),
|
||||
label)));
|
||||
}
|
||||
|
||||
private List<Recipe> search(Stream<Recipe> list, Predicate<Recipe> pre) {
|
||||
return list.filter(pre).collect(Collectors.toCollection(ArrayList::new));
|
||||
}
|
||||
|
||||
public void forEach(BiConsumer<String, List<Recipe>> consumer) {
|
||||
@@ -125,7 +150,7 @@ public class User {
|
||||
}
|
||||
|
||||
public static class Recent {
|
||||
Utilities.Recent<ILabel> record = new Utilities.Recent<>(9);
|
||||
Utilities.Recent<ILabel> record = new Utilities.Recent<>((a, b) -> a == ILabel.EMPTY || a.equals(b), 9);
|
||||
public static final String IDENTIFIER = "recent";
|
||||
|
||||
public Recent(NBTTagList nbt) {
|
||||
|
||||
@@ -74,6 +74,18 @@ public class ControllerClient {
|
||||
return getRecord().recipes.search(group, label, type);
|
||||
}
|
||||
|
||||
public static List<Recipe> search(String group, String label, Recipe.enumIoType type) {
|
||||
return getRecord().recipes.search(group, label, type);
|
||||
}
|
||||
|
||||
public static List<Recipe> search(ILabel label, Recipe.enumIoType type) {
|
||||
return getRecord().recipes.search(label, type);
|
||||
}
|
||||
|
||||
public static List<Recipe> search(String label, Recipe.enumIoType type) {
|
||||
return getRecord().recipes.search(label, type);
|
||||
}
|
||||
|
||||
public static List<ILabel> getRecent() {
|
||||
if (recordWorld == null) return recordClient.recent.getRecords();
|
||||
else {
|
||||
|
||||
@@ -6,7 +6,7 @@ import cpw.mods.fml.common.gameevent.InputEvent;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.JustEnoughCalculation;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.guis.GuiCalculator;
|
||||
import me.towdium.jecalculation.network.ProxyClient;
|
||||
import net.minecraft.client.Minecraft;
|
||||
@@ -22,16 +22,16 @@ public class InputEventHandler {
|
||||
@SubscribeEvent(receiveCanceled = true)
|
||||
public void onKey(InputEvent.KeyInputEvent event) {
|
||||
if (ProxyClient.keyOpenGui.isPressed()) {
|
||||
if (JustEnoughCalculation.side == JustEnoughCalculation.enumSide.CLIENT) JecGui.displayGui(new GuiCalculator());
|
||||
if (JustEnoughCalculation.side == JustEnoughCalculation.enumSide.CLIENT) JecaGui.displayGui(new GuiCalculator());
|
||||
else Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentTranslation("chat.server_mode"));
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGHEST)
|
||||
public void onMouseClick(GuiScreenEvent.ActionPerformedEvent.Pre event) {
|
||||
if (event.gui instanceof JecGui) {
|
||||
if (event.gui instanceof JecaGui) {
|
||||
JustEnoughCalculation.logger.info("on mouse click in gui screen event");
|
||||
JecGui gui = (JecGui) event.gui;
|
||||
JecaGui gui = (JecaGui) event.gui;
|
||||
event.setCanceled(gui.handleMouseEvent());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,11 +19,11 @@ public interface IWPicker extends IWidget {
|
||||
IWPicker setCallback(Consumer<ILabel> callback);
|
||||
|
||||
class Simple extends WContainer implements IWPicker {
|
||||
protected Wrapper<Consumer<ILabel>> callback = new Wrapper<>(null);
|
||||
protected Consumer<ILabel> callback;
|
||||
|
||||
@Override
|
||||
public IWPicker setCallback(Consumer<ILabel> callback) {
|
||||
this.callback.value = callback;
|
||||
this.callback = callback;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
package me.towdium.jecalculation.gui;
|
||||
|
||||
public interface IWidget {
|
||||
void onDraw(JecGui gui, int xMouse, int yMouse);
|
||||
void onDraw(JecaGui gui, int xMouse, int yMouse);
|
||||
|
||||
default boolean onClicked(JecGui gui, int xMouse, int yMouse, int button) {
|
||||
default boolean onClicked(JecaGui gui, int xMouse, int yMouse, int button) {
|
||||
return false;
|
||||
}
|
||||
|
||||
default boolean onKey(JecGui gui, char ch, int code) {
|
||||
default boolean onKey(JecaGui gui, char ch, int code) {
|
||||
return false;
|
||||
}
|
||||
|
||||
default boolean onScroll(JecGui gui, int xMouse, int yMouse, int diff) {
|
||||
default boolean onScroll(JecaGui gui, int xMouse, int yMouse, int diff) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
+16
-16
@@ -40,21 +40,21 @@ import java.util.function.Function;
|
||||
*/
|
||||
@ParametersAreNonnullByDefault
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class JecGui extends GuiContainer {
|
||||
public class JecaGui extends GuiContainer {
|
||||
public static final int COLOR_GUI_GREY = 0xFFA1A1A1;
|
||||
public static final int COLOR_TEXT_RED = 0xFF0000;
|
||||
public static final int COLOR_TEXT_WHITE = 0xFFFFFF;
|
||||
public static final boolean ALWAYS_TOOLTIP = false;
|
||||
public ILabel hand = ILabel.EMPTY;
|
||||
public IWidget root;
|
||||
protected JecGui parent;
|
||||
protected JecaGui parent;
|
||||
protected List<Triple<Integer, Integer, List<String>>> tooltipBuffer = new ArrayList<>();
|
||||
|
||||
public JecGui(@Nullable JecGui parent, IWidget root) {
|
||||
public JecaGui(@Nullable JecaGui parent, IWidget root) {
|
||||
this(parent, false, root);
|
||||
}
|
||||
|
||||
public JecGui(@Nullable JecGui parent, boolean acceptsTransfer, IWidget root) {
|
||||
public JecaGui(@Nullable JecaGui parent, boolean acceptsTransfer, IWidget root) {
|
||||
super(acceptsTransfer ? new ContainerTransfer() : new ContainerNonTransfer());
|
||||
this.parent = parent;
|
||||
this.root = root;
|
||||
@@ -77,29 +77,29 @@ public class JecGui extends GuiContainer {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The currently displayed {@link JecGui}
|
||||
* Make sure the method is called when a {@link JecGui} is displayed!
|
||||
* @return The currently displayed {@link JecaGui}
|
||||
* Make sure the method is called when a {@link JecaGui} is displayed!
|
||||
* Otherwise it will throw a {@link NullPointerException}
|
||||
*/
|
||||
public static JecGui getCurrent() {
|
||||
public static JecaGui getCurrent() {
|
||||
GuiScreen gui = Minecraft.getMinecraft().currentScreen;
|
||||
JecGui ret = gui instanceof JecGui ? (JecGui) gui : null;
|
||||
JecaGui ret = gui instanceof JecaGui ? (JecaGui) gui : null;
|
||||
Objects.requireNonNull(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private static void displayGuiUnsafe(boolean updateParent, boolean acceptsTransfer, IWidget root) {
|
||||
Minecraft mc = Minecraft.getMinecraft();
|
||||
JecGui parent;
|
||||
JecaGui parent;
|
||||
if (mc.currentScreen == null)
|
||||
parent = null;
|
||||
else if (!(mc.currentScreen instanceof JecGui))
|
||||
else if (!(mc.currentScreen instanceof JecaGui))
|
||||
parent = getCurrent();
|
||||
else if (updateParent)
|
||||
parent = (JecGui) mc.currentScreen;
|
||||
parent = (JecaGui) mc.currentScreen;
|
||||
else
|
||||
parent = ((JecGui) mc.currentScreen).parent;
|
||||
JecGui toShow = new JecGui(parent, acceptsTransfer, root);
|
||||
parent = ((JecaGui) mc.currentScreen).parent;
|
||||
JecaGui toShow = new JecaGui(parent, acceptsTransfer, root);
|
||||
mc.displayGuiScreen(toShow);
|
||||
}
|
||||
|
||||
@@ -453,13 +453,13 @@ public class JecGui extends GuiContainer {
|
||||
|
||||
|
||||
public static class JecContainer extends Container {
|
||||
JecGui gui;
|
||||
JecaGui gui;
|
||||
|
||||
public JecGui getGui() {
|
||||
public JecaGui getGui() {
|
||||
return gui;
|
||||
}
|
||||
|
||||
public void setGui(JecGui gui) {
|
||||
public void setGui(JecaGui gui) {
|
||||
this.gui = gui;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.utils.ClientUtils;
|
||||
import me.towdium.jecalculation.utils.Utilities;
|
||||
@@ -41,16 +41,16 @@ public abstract class WButton extends WTooltip {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
super.onDraw(gui, xMouse, yMouse);
|
||||
boolean hovered = JecGui.mouseIn(xPos + 1, yPos + 1, xSize - 2, ySize - 2, xMouse, yMouse);
|
||||
boolean hovered = JecaGui.mouseIn(xPos + 1, yPos + 1, xSize - 2, ySize - 2, xMouse, yMouse);
|
||||
gui.drawResourceContinuous(disabled ? Resource.WGT_BUTTON_D :
|
||||
(hovered ? Resource.WGT_BUTTON_F : Resource.WGT_BUTTON_N), xPos, yPos, xSize, ySize, 3, 3, 3, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onClicked(JecGui gui, int xMouse, int yMouse, int button) {
|
||||
if (!disabled && JecGui.mouseIn(xPos + 1, yPos + 1, xSize - 2, ySize - 2, xMouse, yMouse)) {
|
||||
public boolean onClicked(JecaGui gui, int xMouse, int yMouse, int button) {
|
||||
if (!disabled && JecaGui.mouseIn(xPos + 1, yPos + 1, xSize - 2, ySize - 2, xMouse, yMouse)) {
|
||||
if (button == 0 && lsnrLeft != null) {
|
||||
lsnrLeft.run();
|
||||
ClientUtils.playClickSound(1.0F);
|
||||
@@ -66,7 +66,7 @@ public abstract class WButton extends WTooltip {
|
||||
|
||||
@Override
|
||||
public boolean mouseIn(int xMouse, int yMouse) {
|
||||
return JecGui.mouseIn(xPos + 1, yPos + 1, xSize - 2, ySize - 2, xMouse, yMouse);
|
||||
return JecaGui.mouseIn(xPos + 1, yPos + 1, xSize - 2, ySize - 2, xMouse, yMouse);
|
||||
}
|
||||
|
||||
public WButton setDisabled(boolean b) {
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
@@ -41,7 +41,7 @@ public class WButtonIcon extends WButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
super.onDraw(gui, xMouse, yMouse);
|
||||
Resource r = disabled ? rDisabled : (mouseIn(xMouse, yMouse) ? rFocused : rNormal);
|
||||
if (r != null) gui.drawResource(r, xPos + (xSize - r.getXSize()) / 2, yPos + (ySize - r.getYSize()) / 2);
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.utils.Utilities;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@@ -19,7 +19,7 @@ public class WButtonText extends WButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
super.onDraw(gui, xMouse, yMouse);
|
||||
int textColor = mouseIn(xMouse, yMouse) ? 16777120 : 0;
|
||||
String text = Utilities.I18n.format(String.join(".", "gui", name, "text"));
|
||||
@@ -28,7 +28,7 @@ public class WButtonText extends WButton {
|
||||
String str = text;
|
||||
if (strWidth > xSize - 6 && strWidth > ellipsisWidth)
|
||||
str = gui.getFontRenderer().trimStringToWidth(text, xSize - 6 - ellipsisWidth).trim() + "...";
|
||||
JecGui.Font f = JecGui.Font.DEFAULT_SHADOW.copy();
|
||||
JecaGui.Font f = JecaGui.Font.DEFAULT_SHADOW.copy();
|
||||
f.color = textColor;
|
||||
gui.drawText(xPos, yPos, xSize, ySize, f, str);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@@ -41,24 +41,24 @@ public class WContainer implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int mouseX, int mouseY) {
|
||||
public void onDraw(JecaGui gui, int mouseX, int mouseY) {
|
||||
widgets.forEach(widget -> widget.onDraw(gui, mouseX, mouseY));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onClicked(JecGui gui, int xMouse, int yMouse, int button) {
|
||||
public boolean onClicked(JecaGui gui, int xMouse, int yMouse, int button) {
|
||||
for (IWidget w : widgets) if (w.onClicked(gui, xMouse, yMouse, button)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKey(JecGui gui, char ch, int code) {
|
||||
public boolean onKey(JecaGui gui, char ch, int code) {
|
||||
for (IWidget w : widgets) if (w.onKey(gui, ch, code)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onScroll(JecGui gui, int xMouse, int yMouse, int diff) {
|
||||
public boolean onScroll(JecaGui gui, int xMouse, int yMouse, int diff) {
|
||||
for (IWidget w : widgets) if (w.onScroll(gui, xMouse, yMouse, diff)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
@@ -35,16 +35,16 @@ public class WIcon extends WTooltip {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
super.onDraw(gui, xMouse, yMouse);
|
||||
gui.drawRectangle(xPos, yPos, xSize, ySize, JecGui.COLOR_GUI_GREY);
|
||||
gui.drawRectangle(xPos, yPos, xSize, ySize, JecaGui.COLOR_GUI_GREY);
|
||||
Resource r = mouseIn(xMouse, yMouse) ? focused : normal;
|
||||
gui.drawResource(r, (xSize - r.getXSize()) / 2 + xPos, (ySize - r.getYSize()) / 2 + yPos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean mouseIn(int xMouse, int yMouse) {
|
||||
return JecGui.mouseIn(xPos + (xSize - normal.getXSize()) / 2,
|
||||
return JecaGui.mouseIn(xPos + (xSize - normal.getXSize()) / 2,
|
||||
yPos + (ySize - normal.getYSize()) / 2, normal.getXSize(), normal.getYSize(), xMouse, yMouse);
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
import me.towdium.jecalculation.utils.IllegalPositionException;
|
||||
@@ -20,11 +20,11 @@ import java.util.stream.IntStream;
|
||||
@ParametersAreNonnullByDefault
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class WLabel implements IWidget {
|
||||
static JecGui.Font font;
|
||||
static JecaGui.Font font;
|
||||
|
||||
static {
|
||||
font = JecGui.Font.DEFAULT_HALF.copy();
|
||||
font.align = JecGui.Font.enumAlign.RIGHT;
|
||||
font = JecaGui.Font.DEFAULT_HALF.copy();
|
||||
font.align = JecaGui.Font.enumAlign.RIGHT;
|
||||
}
|
||||
|
||||
public int xPos, yPos, xSize, ySize;
|
||||
@@ -48,11 +48,12 @@ public class WLabel implements IWidget {
|
||||
|
||||
public void setLabel(ILabel label) {
|
||||
this.label = label;
|
||||
notifyLsnr();
|
||||
if (mode == enumMode.EDITOR || mode == enumMode.SELECTOR)
|
||||
notifyLsnr();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
gui.drawResourceContinuous(Resource.WGT_SLOT, xPos, yPos, xSize, ySize, 3, 3, 3, 3);
|
||||
label.drawLabel(gui, xPos + xSize / 2, yPos + ySize / 2, true);
|
||||
if (mode == enumMode.RESULT || mode == enumMode.EDITOR)
|
||||
@@ -75,10 +76,10 @@ public class WLabel implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onScroll(JecGui gui, int xMouse, int yMouse, int diff) {
|
||||
public boolean onScroll(JecaGui gui, int xMouse, int yMouse, int diff) {
|
||||
if (mouseIn(xMouse, yMouse) && mode == enumMode.EDITOR && label != ILabel.EMPTY) {
|
||||
IntStream.range(0, Math.abs(diff)).forEach(i -> {
|
||||
if (JecGui.isShiftDown()) label = diff > 0 ? label.increaseAmountLarge() : label.decreaseAmountLarge();
|
||||
if (JecaGui.isShiftDown()) label = diff > 0 ? label.increaseAmountLarge() : label.decreaseAmountLarge();
|
||||
else label = diff > 0 ? label.increaseAmount() : label.decreaseAmount();
|
||||
});
|
||||
notifyLsnr();
|
||||
@@ -88,7 +89,7 @@ public class WLabel implements IWidget {
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onClicked(JecGui gui, int xMouse, int yMouse, int button) {
|
||||
public boolean onClicked(JecaGui gui, int xMouse, int yMouse, int button) {
|
||||
if (mouseIn(xMouse, yMouse)) {
|
||||
switch (mode) {
|
||||
case EDITOR:
|
||||
@@ -99,14 +100,14 @@ public class WLabel implements IWidget {
|
||||
return true;
|
||||
} else if (label != label.EMPTY) {
|
||||
if (button == 0) {
|
||||
if (JecGui.isShiftDown())
|
||||
if (JecaGui.isShiftDown())
|
||||
label = label.increaseAmountLarge();
|
||||
else
|
||||
label = label.increaseAmount();
|
||||
notifyLsnr();
|
||||
return true;
|
||||
} else if (button == 1) {
|
||||
if (JecGui.isShiftDown())
|
||||
if (JecaGui.isShiftDown())
|
||||
label = label.decreaseAmountLarge();
|
||||
else
|
||||
label = label.decreaseAmount();
|
||||
@@ -119,7 +120,7 @@ public class WLabel implements IWidget {
|
||||
return false;
|
||||
case PICKER:
|
||||
if (label != label.EMPTY) {
|
||||
gui.hand = label.copy();
|
||||
notifyLsnr();
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
@@ -165,7 +166,7 @@ public class WLabel implements IWidget {
|
||||
*/
|
||||
PICKER,
|
||||
/**
|
||||
* Slots to select items, eg. in calculate and search gui. No amount displayed.
|
||||
* Slots to put labels into. No amount displayed.
|
||||
*/
|
||||
SELECTOR
|
||||
}
|
||||
|
||||
@@ -45,8 +45,12 @@ public class WLabelGroup extends WContainer {
|
||||
labels.remove(w);
|
||||
}
|
||||
|
||||
public Optional<WLabel> getLabelAt(int xMouse, int yMouse) {
|
||||
return labels.stream().filter(w -> w.mouseIn(xMouse, yMouse)).findFirst();
|
||||
public ILabel getLabelAt(int index) {
|
||||
return labels.get(index).getLabel();
|
||||
}
|
||||
|
||||
public Optional<ILabel> getLabelAt(int xMouse, int yMouse) {
|
||||
return labels.stream().filter(w -> w.mouseIn(xMouse, yMouse)).findFirst().map(WLabel::getLabel);
|
||||
}
|
||||
|
||||
public List<ILabel> getLabels() {
|
||||
|
||||
@@ -2,13 +2,14 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
import me.towdium.jecalculation.utils.Utilities;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -24,17 +25,21 @@ public class WLabelScroll extends WContainer {
|
||||
protected WScroll scroll;
|
||||
protected int xPos, yPos, column, row, current;
|
||||
protected String filter = "";
|
||||
protected Consumer<Integer> lsnrUpdate;
|
||||
|
||||
public WLabelScroll(int xPos, int yPos, int column, int row, WLabel.enumMode mode, boolean drawConnection) {
|
||||
this.xPos = xPos;
|
||||
this.yPos = yPos;
|
||||
this.column = column;
|
||||
this.row = row;
|
||||
labelGroup = new WLabelGroup(xPos, yPos, column, row, mode);
|
||||
labelGroup = new WLabelGroup(xPos, yPos, column, row, mode)
|
||||
.setLsnrUpdate(i -> {
|
||||
if (lsnrUpdate != null) lsnrUpdate.accept(i + current * column);
|
||||
});
|
||||
scroll = new WScroll(xPos + column * 18 + 4, yPos, row * 18).setLsnrScroll(this::update);
|
||||
add(labelGroup);
|
||||
add(scroll);
|
||||
if (drawConnection) add(new WRectangle(xPos + column * 18, yPos, 4, row * 18, JecGui.COLOR_GUI_GREY));
|
||||
if (drawConnection) add(new WRectangle(xPos + column * 18, yPos, 4, row * 18, JecaGui.COLOR_GUI_GREY));
|
||||
}
|
||||
|
||||
public void update(float f) {
|
||||
@@ -45,8 +50,8 @@ public class WLabelScroll extends WContainer {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onScroll(JecGui gui, int xMouse, int yMouse, int diff) {
|
||||
boolean in = JecGui.mouseIn(xPos, yPos, column * 18, row * 18, xMouse, yMouse);
|
||||
public boolean onScroll(JecaGui gui, int xMouse, int yMouse, int diff) {
|
||||
boolean in = JecaGui.mouseIn(xPos, yPos, column * 18, row * 18, xMouse, yMouse);
|
||||
if (in) scroll.setCurrent(getPos(current - diff));
|
||||
return in;
|
||||
}
|
||||
@@ -69,6 +74,15 @@ public class WLabelScroll extends WContainer {
|
||||
return filtered.size() != 0;
|
||||
}
|
||||
|
||||
public void setLsnrUpdate(Consumer<Integer> lsnr) {
|
||||
lsnrUpdate = lsnr;
|
||||
}
|
||||
|
||||
public ILabel getLabelAt(int index) {
|
||||
return labelGroup.getLabelAt(index - current * column);
|
||||
}
|
||||
|
||||
|
||||
private int getStepAmount() {
|
||||
int line = (labels.size() + column - 1) / column;
|
||||
return Math.max(line - row + 1, 1);
|
||||
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@@ -22,7 +22,7 @@ public class WLine implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
gui.drawResource(Resource.WGT_LINE, 6, y - 1);
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
import me.towdium.jecalculation.utils.Utilities;
|
||||
@@ -32,19 +32,19 @@ public class WPage implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
Resource resource = focused ? (index == 0 ? Resource.WGT_PAGER_F0 : Resource.WGT_PAGER_FN)
|
||||
: Resource.WGT_PAGER_N;
|
||||
gui.drawResourceContinuous(resource, index * 24, -21, 24, 25, 4, 4, 4, 4);
|
||||
record.representation.drawLabel(gui, index * 24 + 4, -17, false);
|
||||
timer.setState(JecGui.mouseIn(index * 24, -21, 24, 21, xMouse, yMouse));
|
||||
timer.setState(JecaGui.mouseIn(index * 24, -21, 24, 21, xMouse, yMouse));
|
||||
if (timer.getTime() > 1000)
|
||||
gui.drawTooltip(xMouse, yMouse, Utilities.I18n.format("gui." + record.localizeKey));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onClicked(JecGui gui, int xMouse, int yMouse, int button) {
|
||||
boolean ret = JecGui.mouseIn(index * 24, -21, 24, 21, xMouse, yMouse) && listener != null && !focused;
|
||||
public boolean onClicked(JecaGui gui, int xMouse, int yMouse, int button) {
|
||||
boolean ret = JecaGui.mouseIn(index * 24, -21, 24, 21, xMouse, yMouse) && listener != null && !focused;
|
||||
if (ret) listener.run();
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@@ -17,7 +17,7 @@ import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class WPanel implements IWidget {
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
gui.drawResourceContinuous(Resource.WGT_PANEL, 0, 0, gui.getXSize(), gui.getYSize(), 5, 5, 5, 5);
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@@ -25,7 +25,7 @@ public class WRectangle implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
gui.drawRectangle(xPos, yPos, xSize, ySize, color);
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
@@ -29,7 +29,7 @@ public class WScroll implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
if (Mouse.isButtonDown(0) && drag) setCurrent(yMouse - yPos - 9);
|
||||
else drag = false;
|
||||
|
||||
@@ -38,7 +38,7 @@ public class WScroll implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onClicked(JecGui gui, int xMouse, int yMouse, int button) {
|
||||
public boolean onClicked(JecaGui gui, int xMouse, int yMouse, int button) {
|
||||
drag = mouseIn(xMouse, yMouse);
|
||||
if (drag) setCurrent(yMouse - yPos - 9);
|
||||
return drag;
|
||||
@@ -56,7 +56,7 @@ public class WScroll implements IWidget {
|
||||
}
|
||||
|
||||
public boolean mouseIn(int xMouse, int yMouse) {
|
||||
return JecGui.mouseIn(xPos + 1, yPos + 1, 12, ySize - 2, xMouse, yMouse);
|
||||
return JecaGui.mouseIn(xPos + 1, yPos + 1, 12, ySize - 2, xMouse, yMouse);
|
||||
}
|
||||
|
||||
public WScroll setLsnrScroll(Consumer<Float> lsnrScroll) {
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
@@ -17,25 +17,18 @@ import java.util.function.Consumer;
|
||||
@ParametersAreNonnullByDefault
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class WSearch extends WContainer {
|
||||
WTextField tf;
|
||||
List<WLabelScroll> lss;
|
||||
Consumer<ILabel> callback;
|
||||
Consumer<ILabel> clbk;
|
||||
|
||||
public WSearch(Consumer<ILabel> callback, WTextField tf, WLabelScroll... lss) {
|
||||
clbk = callback;
|
||||
List<WLabelScroll> lst = Arrays.asList(lss);
|
||||
tf.setLsnrText(s -> tf.setColor(lst.stream().anyMatch(ls -> ls.setFilter(s)) ?
|
||||
JecGui.COLOR_TEXT_WHITE : JecGui.COLOR_TEXT_RED));
|
||||
JecaGui.COLOR_TEXT_WHITE : JecaGui.COLOR_TEXT_RED));
|
||||
add(tf);
|
||||
addAll(lss);
|
||||
this.tf = tf;
|
||||
this.lss = lst;
|
||||
this.callback = callback;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onClicked(JecGui gui, int xMouse, int yMouse, int button) {
|
||||
boolean ret = super.onClicked(gui, xMouse, yMouse, button);
|
||||
if (gui.hand != ILabel.EMPTY) callback.accept(gui.hand);
|
||||
return ret;
|
||||
for (WLabelScroll i : lss)
|
||||
i.setLsnrUpdate(j -> {
|
||||
if (clbk != null) clbk.accept(i.getLabelAt(j));
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.utils.Utilities.Circulator;
|
||||
|
||||
@@ -55,8 +55,8 @@ public class WSwitcher extends WContainer {
|
||||
else
|
||||
setTemp(null);
|
||||
});
|
||||
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,
|
||||
wRect = new WRectangle(xPos + SIZE, yPos, xSize - 2 * SIZE, SIZE, JecaGui.COLOR_GUI_GREY);
|
||||
wText = new WText(xPos + SIZE, yPos, xSize - 2 * SIZE, SIZE, JecaGui.Font.DEFAULT_SHADOW,
|
||||
() -> temp == null ? keys.get(index.current()) : temp);
|
||||
index = new Circulator(keys.size());
|
||||
refresh();
|
||||
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.function.Supplier;
|
||||
@@ -18,31 +18,31 @@ public class WText implements IWidget {
|
||||
public static final int UNDEFINED = Integer.MAX_VALUE;
|
||||
|
||||
public int xPos, yPos, xSize, ySize;
|
||||
public JecGui.Font font;
|
||||
public JecaGui.Font font;
|
||||
public Supplier<String> key;
|
||||
|
||||
public WText(int xPos, int yPos, JecGui.Font font, String key) {
|
||||
public WText(int xPos, int yPos, JecaGui.Font font, String key) {
|
||||
this(xPos, yPos, UNDEFINED, UNDEFINED, font, key);
|
||||
}
|
||||
|
||||
public WText(int xPos, int yPos, JecGui.Font font, Supplier<String> key) {
|
||||
public WText(int xPos, int yPos, JecaGui.Font font, Supplier<String> key) {
|
||||
this(xPos, yPos, UNDEFINED, UNDEFINED, font, key);
|
||||
}
|
||||
|
||||
public WText(int xPos, int yPos, int xSize, JecGui.Font font, String key) {
|
||||
public WText(int xPos, int yPos, int xSize, JecaGui.Font font, String key) {
|
||||
this(xPos, yPos, xSize, UNDEFINED, font, key);
|
||||
}
|
||||
|
||||
public WText(int xPos, int yPos, int xSize, JecGui.Font font, Supplier<String> key) {
|
||||
public WText(int xPos, int yPos, int xSize, JecaGui.Font font, Supplier<String> key) {
|
||||
this(xPos, yPos, xSize, UNDEFINED, font, key);
|
||||
}
|
||||
|
||||
|
||||
public WText(int xPos, int yPos, int xSize, int ySize, JecGui.Font font, String key) {
|
||||
public WText(int xPos, int yPos, int xSize, int ySize, JecaGui.Font font, String key) {
|
||||
this(xPos, yPos, xSize, UNDEFINED, font, () -> key);
|
||||
}
|
||||
|
||||
public WText(int xPos, int yPos, int xSize, int ySize, JecGui.Font font, Supplier<String> key) {
|
||||
public WText(int xPos, int yPos, int xSize, int ySize, JecaGui.Font font, Supplier<String> key) {
|
||||
this.xPos = xPos;
|
||||
this.yPos = yPos;
|
||||
this.xSize = xSize;
|
||||
@@ -52,7 +52,7 @@ public class WText implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
String[] text = key.get().split("\n");
|
||||
if (xSize == UNDEFINED) gui.drawText(xPos, yPos, font, text);
|
||||
else if (ySize == UNDEFINED) gui.drawText(xPos, yPos, xSize, font, text);
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
@@ -29,7 +29,7 @@ public class WTextField implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onClicked(JecGui gui, int xMouse, int yMouse, int button) {
|
||||
public boolean onClicked(JecaGui gui, int xMouse, int yMouse, int button) {
|
||||
boolean flag = xMouse >= textField.xPosition && xMouse < textField.xPosition + textField.width &&
|
||||
yMouse >= textField.yPosition && yMouse < textField.yPosition + textField.height;
|
||||
textField.mouseClicked(xMouse, yMouse, button);
|
||||
@@ -37,12 +37,12 @@ public class WTextField implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
textField.drawTextBox();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKey(JecGui gui, char ch, int code) {
|
||||
public boolean onKey(JecaGui gui, char ch, int code) {
|
||||
boolean ret = textField.textboxKeyTyped(ch, code);
|
||||
if (ret) notifyLsnr();
|
||||
return ret;
|
||||
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.gui.drawables;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWidget;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.utils.Utilities;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
@@ -27,13 +27,13 @@ public abstract class WTooltip implements IWidget {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(JecGui gui, int xMouse, int yMouse) {
|
||||
public void onDraw(JecaGui gui, int xMouse, int yMouse) {
|
||||
if (name != null) {
|
||||
timer.setState(mouseIn(xMouse, yMouse));
|
||||
if (timer.getTime() > 500) {
|
||||
String str = getSuffix().stream().map(s -> Utilities.I18n.search(String.join(".", "gui", name, s)))
|
||||
.filter(p -> p.two).findFirst().map(p -> p.one)
|
||||
.orElse(JecGui.ALWAYS_TOOLTIP ? String.join(".", "gui", name, getSuffix().get(0)) : null);
|
||||
.orElse(JecaGui.ALWAYS_TOOLTIP ? String.join(".", "gui", name, getSuffix().get(0)) : null);
|
||||
if (str != null) gui.drawTooltip(xMouse, yMouse, str);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.gui.guis;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.gui.drawables.*;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
@@ -25,13 +25,14 @@ public class GuiCalculator extends WContainer {
|
||||
add(new WPanel());
|
||||
add(new WTextField(61, 7, 64));
|
||||
add(new WButtonIcon(7, 7, 20, 20, Resource.BTN_LABEL_N, Resource.BTN_LABEL_F, "calculator.label")
|
||||
.setListenerLeft(() -> JecGui.displayGui(new GuiLabel(l -> {
|
||||
JecGui.displayParent();
|
||||
JecGui.getCurrent().hand = l;
|
||||
.setListenerLeft(() -> JecaGui.displayGui(new GuiLabel(l -> {
|
||||
JecaGui.displayParent();
|
||||
JecaGui.getCurrent().hand = l;
|
||||
}))));
|
||||
add(new WButtonIcon(130, 7, 20, 20, Resource.BTN_NEW_N, Resource.BTN_NEW_F, "calculator.recipe")
|
||||
.setListenerLeft(() -> JecGui.displayGui(true, true, new GuiRecipe())));
|
||||
add(new WButtonIcon(149, 7, 20, 20, Resource.BTN_SEARCH_N, Resource.BTN_SEARCH_F, "calculator.search"));
|
||||
.setListenerLeft(() -> JecaGui.displayGui(true, true, new GuiRecipe())));
|
||||
add(new WButtonIcon(149, 7, 20, 20, Resource.BTN_SEARCH_N, Resource.BTN_SEARCH_F, "calculator.search")
|
||||
.setListenerLeft(() -> JecaGui.displayGui(new GuiSearch())));
|
||||
add(new WLabelGroup(7, 87, 9, 4, WLabel.enumMode.RESULT));
|
||||
add(wRecent);
|
||||
add(wLabel);
|
||||
@@ -40,12 +41,12 @@ public class GuiCalculator extends WContainer {
|
||||
add(new WSwitcher(7, 56, 162, 5));
|
||||
refresh();
|
||||
List<ILabel> recent = ControllerClient.getRecent();
|
||||
if (recent.size() > 0)
|
||||
wLabel.setLabel(ControllerClient.getRecent().get(0));
|
||||
if (recent.size() > 0) wLabel.setLabel(ControllerClient.getRecent().get(0));
|
||||
wLabel.setLsnrUpdate(() -> {
|
||||
ControllerClient.setRecent(wLabel.label);
|
||||
refresh();
|
||||
});
|
||||
wRecent.setLsnrUpdate(l -> JecaGui.getCurrent().hand = wRecent.getLabelAt(l));
|
||||
}
|
||||
|
||||
void refresh() {
|
||||
|
||||
@@ -32,7 +32,9 @@ public class GuiDisambiguation extends IWPicker.Simple {
|
||||
add(new WIcon(149, 24, 20, 20, Resource.ICN_HELP_N, Resource.ICN_HELP_F, "disambiguation.help"));
|
||||
add(new WIcon(7, 48, 18, 54, Resource.ICN_LIST_N, Resource.ICN_LIST_F, "disambiguation.list"));
|
||||
add(new WIcon(7, 105, 18, 54, Resource.ICN_LABEL_N, Resource.ICN_LABEL_F, "disambiguation.label"));
|
||||
add(new WSearch(i -> callback.ifPresent(c -> c.accept(i)), tf, lsUp, lsDown));
|
||||
add(new WSearch(i -> {
|
||||
if (callback != null) callback.accept(i);
|
||||
}, tf, lsUp, lsDown));
|
||||
|
||||
setPage(0);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import me.towdium.jecalculation.algorithm.CostList;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
import me.towdium.jecalculation.data.structure.Recipe;
|
||||
import me.towdium.jecalculation.event.handlers.ControllerClient;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.gui.drawables.*;
|
||||
import me.towdium.jecalculation.utils.wrappers.Triple;
|
||||
@@ -34,15 +34,15 @@ public class GuiRecipe extends WContainer {
|
||||
Resource.BTN_DISAMB_D, "recipe.disamb").setDisabled(true)
|
||||
.setListenerLeft(() -> {
|
||||
if (disambiguation != null)
|
||||
JecGui.displayGui(
|
||||
JecaGui.displayGui(
|
||||
new GuiDisambiguation(
|
||||
new ArrayList<>(
|
||||
disambiguation
|
||||
.values()))
|
||||
.setCallback(
|
||||
l -> {
|
||||
JecGui.displayParent();
|
||||
JecGui.getCurrent().hand = l;
|
||||
JecaGui.displayParent();
|
||||
JecaGui.getCurrent().hand = l;
|
||||
}));
|
||||
});
|
||||
WLabelGroup groupInput = new WLabelGroup(28, 111, 7, 2, 20, 20, WLabel.enumMode.EDITOR).setLsnrUpdate(i -> {
|
||||
@@ -56,14 +56,14 @@ public class GuiRecipe extends WContainer {
|
||||
WButton buttonClear = new WButtonIcon(64, 33, 20, 20, Resource.BTN_DEL_N, Resource.BTN_DEL_F, "recipe.clear")
|
||||
.setListenerLeft(this::clear);
|
||||
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;
|
||||
.setListenerLeft(() -> JecaGui.displayGui(new GuiLabel((l) -> {
|
||||
JecaGui.displayParent();
|
||||
JecaGui.getCurrent().hand = l;
|
||||
})));
|
||||
WButton buttonSave = new WButtonIcon(26, 33, 20, 20, Resource.BTN_SAVE_N, Resource.BTN_SAVE_F, "recipe.save")
|
||||
.setListenerLeft(() -> {
|
||||
ControllerClient.addRecipe(switcherGroup.getText(), toRecipe());
|
||||
JecGui.displayParent();
|
||||
JecaGui.displayParent();
|
||||
});
|
||||
WTextField textField = new WTextField(49, 33, 119);
|
||||
WButton buttonNew = new WButtonIcon(7, 33, 20, 20, Resource.BTN_NEW_N, Resource.BTN_NEW_F, "recipe.new")
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package me.towdium.jecalculation.gui.guis;
|
||||
|
||||
import me.towdium.jecalculation.event.handlers.ControllerClient;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.gui.drawables.*;
|
||||
import me.towdium.jecalculation.utils.Utilities;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class GuiSearch extends WContainer {
|
||||
public GuiSearch() {
|
||||
add(new WPanel());
|
||||
ArrayList<String> groups = new ArrayList<>();
|
||||
groups.add(Utilities.I18n.format("gui.search.all"));
|
||||
groups.addAll(ControllerClient.getGroups());
|
||||
add(new WSwitcher(7, 7, 162, groups));
|
||||
WTextField tf = new WTextField(25, 7, 90);
|
||||
WLabelScroll ls = new WLabelScroll(7, 33, 8, 7, WLabel.enumMode.PICKER, true);
|
||||
add(new WIcon(149, 7, 20, 20, Resource.ICN_HELP_N, Resource.ICN_HELP_F, "search.help"));
|
||||
add(new WIcon(7, 7, 20, 20, Resource.ICN_TEXT_N, Resource.ICN_TEXT_F, "search.text"));
|
||||
}
|
||||
}
|
||||
@@ -31,11 +31,12 @@ public class PickerSimple extends IWPicker.Simple {
|
||||
public PickerSimple(List<ILabel> labels, String l18nKey) {
|
||||
WLabelScroll ls = new WLabelScroll(7, 33, 8, 7, WLabel.enumMode.PICKER, true).setLabels(labels);
|
||||
WTextField tf = new WTextField(25, 7, 90);
|
||||
add(new WSearch(l -> callback.value.accept(l), tf, ls));
|
||||
add(new WSearch(l -> callback.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 {
|
||||
public FluidStack() {
|
||||
super(FluidRegistry.getRegisteredFluids().entrySet().stream()
|
||||
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.gui.guis.pickers;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.gui.IWPicker;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.Resource;
|
||||
import me.towdium.jecalculation.gui.drawables.*;
|
||||
import me.towdium.jecalculation.data.label.labels.LString;
|
||||
@@ -22,15 +22,15 @@ public class PickerUniversal extends IWPicker.Simple {
|
||||
WLabelScroll scroll = new WLabelScroll(7, 69, 8, 5, WLabel.enumMode.PICKER, true).setLabels(new ArrayList<>());
|
||||
WTextField search = new WTextField(25, 45, 90);
|
||||
WTextField create = new WTextField(25, 7, 70);
|
||||
create.setLsnrText(s -> create.setColor(s.equals("") ? JecGui.COLOR_TEXT_RED : JecGui.COLOR_TEXT_WHITE));
|
||||
add(new WSearch(l -> callback.value.accept(l), search, scroll));
|
||||
create.setLsnrText(s -> create.setColor(s.equals("") ? JecaGui.COLOR_TEXT_RED : JecaGui.COLOR_TEXT_WHITE));
|
||||
add(new WSearch(l -> callback.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 LString(create.getText(), 1));
|
||||
if (!create.getText().equals("")) callback.accept(new LString(create.getText(), 1));
|
||||
}));
|
||||
add(create);
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import codechicken.nei.recipe.IRecipeHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import me.towdium.jecalculation.JustEnoughCalculation;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.guis.GuiRecipe;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
|
||||
@@ -14,8 +14,8 @@ public class JecaOverlayHandler implements IOverlayHandler {
|
||||
@Override
|
||||
public void overlayRecipe(GuiContainer firstGui, IRecipeHandler recipe, int recipeIndex, boolean shift) {
|
||||
JustEnoughCalculation.logger.info("shift ? " + shift);
|
||||
if (shift && firstGui instanceof JecGui) {
|
||||
JecGui gui = (JecGui) firstGui;
|
||||
if (shift && firstGui instanceof JecaGui) {
|
||||
JecaGui gui = (JecaGui) firstGui;
|
||||
if (gui.root instanceof GuiRecipe) {
|
||||
((GuiRecipe) gui.root).transfer(recipe, recipeIndex);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package me.towdium.jecalculation.nei;
|
||||
|
||||
import codechicken.nei.guihook.IContainerTooltipHandler;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
@@ -24,7 +24,7 @@ public class JecaTooltipHandler implements IContainerTooltipHandler {
|
||||
int mousex,
|
||||
int mousey,
|
||||
List<String> currenttip) {
|
||||
if (gui instanceof JecGui) {
|
||||
if (gui instanceof JecaGui) {
|
||||
NEIPlugin.setLabelUnderMouse(itemstack);
|
||||
}
|
||||
return currenttip;
|
||||
|
||||
@@ -3,7 +3,7 @@ package me.towdium.jecalculation.nei;
|
||||
import codechicken.nei.api.API;
|
||||
import codechicken.nei.api.IConfigureNEI;
|
||||
import me.towdium.jecalculation.JustEnoughCalculation;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
|
||||
public class NEICalculatorConfig implements IConfigureNEI {
|
||||
|
||||
@@ -12,8 +12,8 @@ public class NEICalculatorConfig implements IConfigureNEI {
|
||||
System.out.println("loaded nei config");
|
||||
String [] recipeType = new String[]{ "crafting", "crafting2x2", "smelting", "fuel", "brewing"};
|
||||
for (String ident : recipeType) {
|
||||
API.registerGuiOverlay(JecGui.class, ident);
|
||||
API.registerGuiOverlayHandler(JecGui.class, new JecaOverlayHandler(), ident);
|
||||
API.registerGuiOverlay(JecaGui.class, ident);
|
||||
API.registerGuiOverlayHandler(JecaGui.class, new JecaOverlayHandler(), ident);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package me.towdium.jecalculation.network;
|
||||
|
||||
import cpw.mods.fml.client.registry.ClientRegistry;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.gui.guis.GuiCalculator;
|
||||
import me.towdium.jecalculation.command.JecaCommand;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
@@ -35,6 +35,6 @@ public class ProxyClient extends ProxyServer {
|
||||
@Override
|
||||
public void displayCalculator() {
|
||||
super.displayCalculator();
|
||||
JecGui.displayGui(new GuiCalculator());
|
||||
JecaGui.displayGui(new GuiCalculator());
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ package me.towdium.jecalculation.network;
|
||||
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import me.towdium.jecalculation.gui.JecGui;
|
||||
import me.towdium.jecalculation.gui.JecaGui;
|
||||
import me.towdium.jecalculation.data.label.ILabel;
|
||||
import me.towdium.jecalculation.event.Handlers;
|
||||
import me.towdium.jecalculation.item.ItemCalculator;
|
||||
@@ -13,7 +13,7 @@ public class ProxyServer implements IProxy {
|
||||
public void initPre() {
|
||||
GameRegistry.registerItem(ItemCalculator.INSTANCE, ItemCalculator.INSTANCE.getUnlocalizedName());
|
||||
Handlers.handlers.forEach(FMLCommonHandler.instance().bus()::register);
|
||||
MinecraftForge.EVENT_BUS.register(JecGui.class);
|
||||
MinecraftForge.EVENT_BUS.register(JecaGui.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -23,6 +23,8 @@ import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.BiPredicate;
|
||||
import java.util.stream.Collector;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import java.util.stream.StreamSupport;
|
||||
|
||||
@@ -35,6 +37,7 @@ import java.util.stream.StreamSupport;
|
||||
public class Utilities {
|
||||
final static int[] scaleTable = {9, 99, 999, 9999, 99999, 999999, 9999999, 99999999, 999999999, Integer.MAX_VALUE};
|
||||
static Map<String, String> dictionary = new HashMap<>();
|
||||
public static Collector toArrayList = Collectors.toCollection(ArrayList::new);
|
||||
|
||||
static {
|
||||
Map<String, ModContainer> modMap = Loader.instance().getIndexedModList();
|
||||
@@ -106,6 +109,7 @@ public class Utilities {
|
||||
return s1.contains(s2);
|
||||
}
|
||||
|
||||
// get calculator item in player inventory
|
||||
public static Optional<ItemStack> getStack() {
|
||||
InventoryPlayer inv = Minecraft.getMinecraft().thePlayer.inventory;
|
||||
ItemStack is = inv.getCurrentItem();
|
||||
|
||||
@@ -18,6 +18,7 @@ gui.recipe.disamb.disabled=Disambiguate settings not available\nbecause of no am
|
||||
gui.recipe.new.active=New group
|
||||
gui.recipe.cancel.active=Cancel
|
||||
gui.recipe.confirm.active=Confirm
|
||||
gui.search.all=All
|
||||
gui.common.label.ore_dict=OreDict
|
||||
gui.common.label.fluid_stack=Fluid
|
||||
gui.common.label.string=String
|
||||
|
||||
Reference in new issue
Block a user