use of gregtech.api.gui.widgets.LabelWidget in project GregTech by GregTechCE.
the class SimpleMachineMetaTileEntity method createGuiTemplate.
protected ModularUI.Builder createGuiTemplate(EntityPlayer player) {
ModularUI.Builder builder = workable.recipeMap.createUITemplate(workable::getProgressPercent, importItems, exportItems, importFluids, exportFluids).widget(new LabelWidget(7, 5, getMetaFullName())).widget(new DischargerSlotWidget(chargerInventory, 0, 79, 62).setBackgroundTexture(GuiTextures.SLOT, GuiTextures.CHARGER_OVERLAY)).widget(new ImageWidget(79, 42, 18, 18, GuiTextures.INDICATOR_NO_ENERGY).setPredicate(workable::isHasNotEnoughEnergy)).bindPlayerInventory(player.inventory);
int leftButtonStartX = 7;
int rightButtonStartX = 176 - 7 - 45;
if (workable.recipeMap instanceof RecipeMapWithConfigButton) {
leftButtonStartX += ((RecipeMapWithConfigButton) workable.recipeMap).getLeftButtonOffset();
rightButtonStartX -= ((RecipeMapWithConfigButton) workable.recipeMap).getRightButtonOffset();
}
if (exportItems.getSlots() > 0) {
builder.widget(new ToggleButtonWidget(leftButtonStartX, 62, 18, 18, GuiTextures.BUTTON_ITEM_OUTPUT, this::isAutoOutputItems, this::setAutoOutputItems).setTooltipText("gregtech.gui.item_auto_output.tooltip"));
leftButtonStartX += 18;
}
if (exportFluids.getTanks() > 0) {
builder.widget(new ToggleButtonWidget(leftButtonStartX, 62, 18, 18, GuiTextures.BUTTON_FLUID_OUTPUT, this::isAutoOutputFluids, this::setAutoOutputFluids).setTooltipText("gregtech.gui.fluid_auto_output.tooltip"));
leftButtonStartX += 18;
}
builder.widget(new CycleButtonWidget(leftButtonStartX, 62, 18, 18, workable.getAvailableOverclockingTiers(), workable::getOverclockTier, workable::setOverclockTier).setTooltipHoverString("gregtech.gui.overclock.description").setButtonTexture(GuiTextures.BUTTON_OVERCLOCK));
return builder;
}
use of gregtech.api.gui.widgets.LabelWidget in project GregTech by GregTechCE.
the class OreDictionaryItemFilter method initUI.
@Override
public void initUI(Consumer<Widget> widgetGroup) {
widgetGroup.accept(new LabelWidget(10, 0, "cover.ore_dictionary_filter.title1"));
widgetGroup.accept(new LabelWidget(10, 10, "cover.ore_dictionary_filter.title2"));
widgetGroup.accept(new TextFieldWidget(10, 25, 100, 12, true, () -> oreDictionaryFilter, this::setOreDictionaryFilter).setMaxStringLength(64).setValidator(str -> ORE_DICTIONARY_FILTER.matcher(str).matches()));
}
use of gregtech.api.gui.widgets.LabelWidget in project GregTech by GregTechCE.
the class MetaTileEntityLockedSafe method createUI.
@Override
protected ModularUI createUI(EntityPlayer entityPlayer) {
DoubleSupplier supplier = () -> 0.2 + (unlockProgress / (MAX_UNLOCK_PROGRESS * 1.0)) * 0.8;
ModularUI.Builder builder = ModularUI.defaultBuilder().widget(new ProgressWidget(supplier, 5, 5, 166, 74, GuiTextures.PROGRESS_BAR_UNLOCK, MoveType.VERTICAL_INVERTED)).bindPlayerInventory(entityPlayer.inventory);
ServerWidgetGroup lockedGroup = new ServerWidgetGroup(() -> !isSafeUnlocked && unlockProgress < 0);
lockedGroup.addWidget(new LabelWidget(5, 20, "gregtech.machine.locked_safe.malfunctioning"));
lockedGroup.addWidget(new LabelWidget(5, 30, "gregtech.machine.locked_safe.requirements"));
lockedGroup.addWidget(new SlotWidget(unlockInventory, 0, 70, 40, false, true).setBackgroundTexture(GuiTextures.SLOT));
lockedGroup.addWidget(new SlotWidget(unlockInventory, 1, 70 + 18, 40, false, true).setBackgroundTexture(GuiTextures.SLOT));
lockedGroup.addWidget(new SlotWidget(unlockComponents, 0, 70, 58, false, false));
lockedGroup.addWidget(new SlotWidget(unlockComponents, 1, 70 + 18, 58, false, false));
ServerWidgetGroup unlockedGroup = new ServerWidgetGroup(() -> isSafeUnlocked);
for (int row = 0; row < 3; row++) {
for (int col = 0; col < 9; col++) {
unlockedGroup.addWidget(new SlotWidget(safeLootInventory, col + row * 9, 8 + col * 18, 15 + row * 18, true, false));
}
}
return builder.widget(unlockedGroup).widget(lockedGroup).build(getHolder(), entityPlayer);
}
use of gregtech.api.gui.widgets.LabelWidget in project GregTech by GregTechCE.
the class CoverFluidFilter method createUI.
public ModularUI createUI(EntityPlayer player) {
WidgetGroup fluidFilterGroup = new WidgetGroup();
fluidFilterGroup.addWidget(new LabelWidget(10, 5, "cover.fluid_filter.title"));
fluidFilterGroup.addWidget(new CycleButtonWidget(10, 20, 110, 20, GTUtility.mapToString(FluidFilterMode.values(), (it) -> it.localeName), () -> this.filterMode.ordinal(), (newMode) -> this.setFilterMode(FluidFilterMode.values()[newMode])));
this.fluidFilter.initUI(45, fluidFilterGroup::addWidget);
return ModularUI.builder(GuiTextures.BACKGROUND, 176, 105 + 82).widget(fluidFilterGroup).bindPlayerInventory(player.inventory, GuiTextures.SLOT, 7, 105).build(this, player);
}
use of gregtech.api.gui.widgets.LabelWidget in project GregTech by GregTechCE.
the class CoverItemFilter method createUI.
@Override
public ModularUI createUI(EntityPlayer player) {
WidgetGroup filterGroup = new WidgetGroup();
filterGroup.addWidget(new LabelWidget(10, 5, titleLocale));
filterGroup.addWidget(new CycleButtonWidget(10, 20, 110, 20, GTUtility.mapToString(ItemFilterMode.values(), it -> it.localeName), () -> filterMode.ordinal(), (newMode) -> setFilterMode(ItemFilterMode.values()[newMode])));
this.itemFilter.initUI(45, filterGroup::addWidget);
return ModularUI.builder(GuiTextures.BACKGROUND, 176, 105 + 82).widget(filterGroup).bindPlayerInventory(player.inventory, GuiTextures.SLOT, 7, 105).build(this, player);
}
Aggregations