use of mekanism.client.gui.IGuiWrapper in project Mekanism by mekanism.
the class GuiMinerFilterHelper method addMinerDefaults.
default void addMinerDefaults(IGuiWrapper gui, MinerFilter<?> filter, int slotOffset, UnaryOperator<GuiElement> childAdder) {
childAdder.apply(new GuiSlot(SlotType.NORMAL, gui, getRelativeX() + 148, getRelativeY() + slotOffset).setRenderHover(true).stored(() -> new ItemStack(filter.replaceTarget)).setGhostHandler((IGhostBlockItemConsumer) ingredient -> {
filter.replaceTarget = ((ItemStack) ingredient).getItem();
Minecraft.getInstance().getSoundManager().play(SimpleSound.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F));
}));
childAdder.apply(new MekanismImageButton(gui, getRelativeX() + 148, getRelativeY() + 45, 14, 16, MekanismUtils.getResource(ResourceType.GUI_BUTTON, "exclamation.png"), () -> filter.requiresReplacement = !filter.requiresReplacement, (onHover, matrix, xAxis, yAxis) -> gui.displayTooltip(matrix, MekanismLang.MINER_REQUIRE_REPLACE.translate(YesNo.of(filter.requiresReplacement)), xAxis, yAxis)));
}
use of mekanism.client.gui.IGuiWrapper in project Mekanism by mekanism.
the class GuiSorterFilterHelper method addSorterDefaults.
default void addSorterDefaults(IGuiWrapper gui, SorterFilter<?> filter, int slotOffset, UnaryOperator<GuiElement> childAdder, BooleanSupplier singleItem, BiConsumer<GuiTextField, GuiTextField> rangeSetter) {
int relativeX = getRelativeX();
int relativeY = getRelativeY();
int slotX = relativeX + 7;
int colorSlotY = relativeY + slotOffset + 25;
childAdder.apply(new GuiSlot(SlotType.NORMAL, gui, slotX, colorSlotY));
childAdder.apply(new ColorButton(gui, slotX + 1, colorSlotY + 1, 16, 16, () -> filter.color, () -> filter.color = Screen.hasShiftDown() ? null : TransporterUtils.increment(filter.color), () -> filter.color = TransporterUtils.decrement(filter.color)));
childAdder.apply(new MekanismImageButton(gui, relativeX + 148, relativeY + 18, 11, MekanismUtils.getResource(ResourceType.GUI_BUTTON, "default.png"), () -> filter.allowDefault = !filter.allowDefault, (onHover, matrix, xAxis, yAxis) -> gui.displayTooltip(matrix, MekanismLang.FILTER_ALLOW_DEFAULT.translate(), xAxis, yAxis)));
GuiTextField minField = new GuiTextField(gui, relativeX + 169, relativeY + 31, 20, 11);
minField.setMaxStringLength(2);
minField.setInputValidator(InputValidator.DIGIT);
minField.setText("" + filter.min);
childAdder.apply(minField);
GuiTextField maxField = new GuiTextField(gui, relativeX + 169, relativeY + 43, 20, 11);
maxField.setMaxStringLength(2);
maxField.setInputValidator(InputValidator.DIGIT);
maxField.setText("" + filter.max);
childAdder.apply(maxField);
rangeSetter.accept(minField, maxField);
childAdder.apply(new MekanismImageButton(gui, relativeX + 148, relativeY + 56, 11, 14, MekanismUtils.getResource(ResourceType.GUI_BUTTON, "silk_touch.png"), () -> filter.sizeMode = !filter.sizeMode, (onHover, matrix, xAxis, yAxis) -> {
if (singleItem.getAsBoolean() && filter.sizeMode) {
gui.displayTooltip(matrix, MekanismLang.SORTER_SIZE_MODE_CONFLICT.translate(), xAxis, yAxis);
} else {
gui.displayTooltip(matrix, MekanismLang.SORTER_SIZE_MODE.translate(), xAxis, yAxis);
}
}));
}
Aggregations