Search in sources :

Example 11 with RectButtonWidget

use of gregtech.api.terminal.gui.widgets.RectButtonWidget in project GregTech by GregTechCEu.

the class ItemStackConfigurator method init.

protected void init() {
    container = new DraggableScrollableWidgetGroup(0, 27, 116, 100);
    this.addWidget(container);
    this.addWidget(new RectButtonWidget(0, 15, 116, 10, 1).setIcon(new TextTexture("terminal.guide_editor.add_slot", -1)).setClickListener(cd -> {
        addSlot(container, new SlotListWidget.ItemStackInfo("minecraft:air", 0, 0));
        updateValue();
    }).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_1.getColor(), TerminalTheme.COLOR_B_1.getColor()));
    slots = new ArrayList<>();
    if (!config.get(name).isJsonNull()) {
        Gson gson = new Gson();
        for (JsonElement o : config.get(name).getAsJsonArray()) {
            addSlot(container, gson.fromJson(o, SlotListWidget.ItemStackInfo.class));
        }
    }
}
Also used : DraggableScrollableWidgetGroup(gregtech.api.terminal.gui.widgets.DraggableScrollableWidgetGroup) JsonElement(com.google.gson.JsonElement) TextTexture(gregtech.api.gui.resources.TextTexture) Gson(com.google.gson.Gson) SlotListWidget(gregtech.common.terminal.app.guide.widget.SlotListWidget) RectButtonWidget(gregtech.api.terminal.gui.widgets.RectButtonWidget)

Example 12 with RectButtonWidget

use of gregtech.api.terminal.gui.widgets.RectButtonWidget in project GregTech by GregTechCEu.

the class VirtualTankApp method initApp.

@Override
public AbstractApplication initApp() {
    this.addWidget(new ImageWidget(5, 5, 333 - 10, 232 - 10, TerminalTheme.COLOR_B_2));
    this.addWidget(new LabelWidget(10, 10, "terminal.vtank_viewer.title", -1));
    this.addWidget(new RectButtonWidget(216, 7, 110, 18).setClickListener(cd -> {
        if (cd.isClient) {
            reloadWidgets(cacheClient);
        }
    }).setIcon(new TextTexture("terminal.vtank_viewer.refresh", -1)).setFill(TerminalTheme.COLOR_B_2.getColor()));
    widgetGroup = new DraggableScrollableWidgetGroup(10, 30, 313, 195).setDraggable(true).setYScrollBarWidth(3).setYBarStyle(null, TerminalTheme.COLOR_F_1);
    if (isClient) {
        cacheClient = new HashMap<>();
    } else {
        cacheServer = new HashMap<>();
    }
    this.addWidget(widgetGroup);
    if (!isRemote()) {
        refresh();
    }
    return this;
}
Also used : VirtualTankRegistry(gregtech.api.util.VirtualTankRegistry) java.util(java.util) TerminalTheme(gregtech.api.terminal.os.TerminalTheme) TextTexture(gregtech.api.gui.resources.TextTexture) ImageWidget(gregtech.api.gui.widgets.ImageWidget) TankWidget(gregtech.api.gui.widgets.TankWidget) SearchComponent(gregtech.common.terminal.component.SearchComponent) Pair(org.apache.commons.lang3.tuple.Pair) Side(net.minecraftforge.fml.relauncher.Side) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) SideOnly(net.minecraftforge.fml.relauncher.SideOnly) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) GTLog(gregtech.api.util.GTLog) WidgetGroup(gregtech.api.gui.widgets.WidgetGroup) LabelWidget(gregtech.api.gui.widgets.LabelWidget) DraggableScrollableWidgetGroup(gregtech.api.terminal.gui.widgets.DraggableScrollableWidgetGroup) Collectors(java.util.stream.Collectors) GuiTextures(gregtech.api.gui.GuiTextures) ImmutablePair(org.apache.commons.lang3.tuple.ImmutablePair) AbstractApplication(gregtech.api.terminal.app.AbstractApplication) Consumer(java.util.function.Consumer) RectButtonWidget(gregtech.api.terminal.gui.widgets.RectButtonWidget) IMenuComponent(gregtech.api.terminal.os.menu.IMenuComponent) FluidStack(net.minecraftforge.fluids.FluidStack) FluidTank(net.minecraftforge.fluids.FluidTank) IFluidTank(net.minecraftforge.fluids.IFluidTank) PacketBuffer(net.minecraft.network.PacketBuffer) DraggableScrollableWidgetGroup(gregtech.api.terminal.gui.widgets.DraggableScrollableWidgetGroup) LabelWidget(gregtech.api.gui.widgets.LabelWidget) TextTexture(gregtech.api.gui.resources.TextTexture) ImageWidget(gregtech.api.gui.widgets.ImageWidget) RectButtonWidget(gregtech.api.terminal.gui.widgets.RectButtonWidget)

Example 13 with RectButtonWidget

use of gregtech.api.terminal.gui.widgets.RectButtonWidget in project GregTech by GregTechCEu.

the class MachineConsoleWidget method initWidgets.

private void initWidgets() {
    if (mte != null) {
        uiWidgetGroup = new UIWidgetGroup();
        uiWidgetGroup.setActive(false);
        uiWidgetGroup.setVisible(false);
        Size size = getSize();
        addWidget(new ImageWidget(0, 0, size.width, size.height, GuiTextures.BACKGROUND));
        addWidget(new SimpleTextWidget(size.width / 2, 12, "", -1, () -> facing.toString().toUpperCase()).setShadow(true));
        int y = 20;
        if (mte.hasFrontFacing()) {
            addWidget(new RectButtonWidget(10, y, size.width - 20, 20, 1).setClickListener(clickData -> {
                if (!isRemote() && mte.isValidFrontFacing(facing)) {
                    mte.setFrontFacing(facing);
                }
            }).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.front", -1)));
            y += 25;
        }
        // IControllable
        IControllable controllable = mte.getCapability(GregtechTileCapabilities.CAPABILITY_CONTROLLABLE, facing);
        if (controllable != null) {
            addWidget(new RectButtonWidget(10, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_WORKING_ENABLE.getSubArea(0, 0, 1, 0.5), (c, p) -> {
                if (!isRemote()) {
                    controllable.setWorkingEnabled(p);
                }
            }).setValueSupplier(false, controllable::isWorkingEnabled).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.controllable").setIcon(GuiTextures.BUTTON_WORKING_ENABLE.getSubArea(0, 0.5, 1, 0.5)));
            // AbstractRecipeLogic
            AbstractRecipeLogic recipeLogic = mte.getCapability(GregtechTileCapabilities.CAPABILITY_RECIPE_LOGIC, facing);
            if (recipeLogic != null) {
                addWidget(new CycleButtonWidget(35, y, 20, 20, recipeLogic.getAvailableOverclockingTiers(), recipeLogic::getOverclockTier, recipeLogic::setOverclockTier).setTooltipHoverString("gregtech.gui.overclock.description").setButtonTexture(GuiTextures.BUTTON_OVERCLOCK));
                addWidget(new ProgressWidget(recipeLogic::getProgressPercent, 60, y, 63, 20, GuiTextures.PROGRESS_BAR_ARC_FURNACE, ProgressWidget.MoveType.HORIZONTAL));
                if (recipeLogic instanceof RecipeLogicSteam) {
                    y += 25;
                    addWidget(new RectButtonWidget(10, y, size.width - 20, 20, 1).setClickListener(clickData -> {
                        EnumFacing currentVentingSide = ((RecipeLogicSteam) recipeLogic).getVentingSide();
                        if (currentVentingSide == facing || mte.getFrontFacing() == facing)
                            return;
                        ((RecipeLogicSteam) recipeLogic).setVentingSide(facing);
                    }).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.venting", -1)));
                }
            }
            y += 25;
        }
        // SimpleMachineMetaTileEntity
        if (mte instanceof SimpleMachineMetaTileEntity) {
            SimpleMachineMetaTileEntity simpleMTE = (SimpleMachineMetaTileEntity) mte;
            // items output
            if (simpleMTE.getExportItems().getSlots() > 0) {
                addWidget(new ImageWidget(10, y, 20, 20, new ItemStackTexture(Items.GLOWSTONE_DUST)));
                addWidget(new RectButtonWidget(33, y, 50, 20, 1).setClickListener(clickData -> {
                    if (!isRemote() && mte.getFrontFacing() != facing) {
                        simpleMTE.setOutputFacingItems(facing);
                    }
                }).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setHoverText("terminal.console.items"));
                addWidget(new SimpleTextWidget(58, y + 10, "", -1, () -> simpleMTE.getOutputFacingItems().toString()));
                addWidget(new RectButtonWidget(83, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ITEM_OUTPUT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
                    if (!isRemote()) {
                        simpleMTE.setAutoOutputItems(p);
                    }
                }).setInitValue(simpleMTE.isAutoOutputItems()).setValueSupplier(false, simpleMTE::isAutoOutputItems).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.auto_output").setIcon(GuiTextures.BUTTON_ITEM_OUTPUT.getSubArea(0, 0, 1, 0.5)));
                addWidget(new RectButtonWidget(103, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
                    if (!isRemote()) {
                        simpleMTE.setAllowInputFromOutputSideItems(p);
                    }
                }).setInitValue(simpleMTE.isAllowInputFromOutputSideItems()).setValueSupplier(false, simpleMTE::isAllowInputFromOutputSideItems).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.input").setIcon(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0, 1, 0.5)));
                y += 20;
            }
            // fluids output
            if (simpleMTE.getExportFluids().getTanks() > 0) {
                addWidget(new ImageWidget(10, y, 20, 20, new ItemStackTexture(Items.WATER_BUCKET)));
                addWidget(new RectButtonWidget(33, y, 50, 20, 1).setClickListener(clickData -> {
                    if (!isRemote() && simpleMTE.getFrontFacing() != facing) {
                        simpleMTE.setOutputFacingFluids(facing);
                    }
                }).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setHoverText("terminal.console.fluids"));
                addWidget(new SimpleTextWidget(58, y + 10, "", -1, () -> simpleMTE.getOutputFacingFluids().toString()));
                addWidget(new RectButtonWidget(83, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_FLUID_OUTPUT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
                    if (!isRemote()) {
                        simpleMTE.setAutoOutputFluids(p);
                    }
                }).setInitValue(simpleMTE.isAutoOutputFluids()).setValueSupplier(false, simpleMTE::isAutoOutputFluids).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.auto_output").setIcon(GuiTextures.BUTTON_FLUID_OUTPUT.getSubArea(0, 0, 1, 0.5)));
                addWidget(new RectButtonWidget(103, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
                    if (!isRemote()) {
                        simpleMTE.setAllowInputFromOutputSideFluids(p);
                    }
                }).setInitValue(simpleMTE.isAllowInputFromOutputSideFluids()).setValueSupplier(false, simpleMTE::isAllowInputFromOutputSideFluids).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.input").setIcon(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0, 1, 0.5)));
                y += 20;
            }
            y += 5;
        }
        // MetaTileEntityQuantumTank
        if (mte instanceof MetaTileEntityQuantumChest) {
            MetaTileEntityQuantumChest chest = (MetaTileEntityQuantumChest) mte;
            addWidget(new ImageWidget(10, y, 20, 20, new ItemStackTexture(Items.GLOWSTONE_DUST)));
            addWidget(new RectButtonWidget(33, y, 50, 20, 1).setClickListener(clickData -> {
                if (!isRemote() && mte.getFrontFacing() != facing) {
                    chest.setOutputFacing(facing);
                }
            }).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setHoverText("terminal.console.items"));
            addWidget(new SimpleTextWidget(58, y + 10, "", -1, () -> chest.getOutputFacing().toString()));
            addWidget(new RectButtonWidget(83, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ITEM_OUTPUT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
                if (!isRemote()) {
                    chest.setAutoOutputItems(p);
                }
            }).setInitValue(chest.isAutoOutputItems()).setValueSupplier(false, chest::isAutoOutputItems).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.auto_output").setIcon(GuiTextures.BUTTON_ITEM_OUTPUT.getSubArea(0, 0, 1, 0.5)));
            addWidget(new RectButtonWidget(103, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
                if (!isRemote()) {
                    chest.setAllowInputFromOutputSide(p);
                }
            }).setInitValue(chest.isAllowInputFromOutputSideItems()).setValueSupplier(false, chest::isAllowInputFromOutputSideItems).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.input").setIcon(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0, 1, 0.5)));
            y += 25;
        } else if (mte instanceof MetaTileEntityQuantumTank) {
            MetaTileEntityQuantumTank tank = (MetaTileEntityQuantumTank) mte;
            addWidget(new ImageWidget(10, y, 20, 20, new ItemStackTexture(Items.WATER_BUCKET)));
            addWidget(new RectButtonWidget(33, y, 50, 20, 1).setClickListener(clickData -> {
                if (!isRemote() && tank.getFrontFacing() != facing) {
                    tank.setOutputFacing(facing);
                }
            }).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setHoverText("terminal.console.fluids"));
            addWidget(new SimpleTextWidget(58, y + 10, "", -1, () -> tank.getOutputFacing().toString()));
            addWidget(new RectButtonWidget(83, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_FLUID_OUTPUT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
                if (!isRemote()) {
                    tank.setAutoOutputFluids(p);
                }
            }).setInitValue(tank.isAutoOutputFluids()).setValueSupplier(false, tank::isAutoOutputFluids).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.auto_output").setIcon(GuiTextures.BUTTON_FLUID_OUTPUT.getSubArea(0, 0, 1, 0.5)));
            addWidget(new RectButtonWidget(103, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
                if (!isRemote()) {
                    tank.setAllowInputFromOutputSide(p);
                }
            }).setInitValue(tank.isAllowInputFromOutputSideFluids()).setValueSupplier(false, tank::isAllowInputFromOutputSideFluids).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.input").setIcon(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0, 1, 0.5)));
            y += 25;
        }
        // MultiBlockPart
        if (mte instanceof MetaTileEntityMultiblockPart) {
            // MetaTileEntityMaintenanceHatch
            if (mte instanceof MetaTileEntityMaintenanceHatch) {
                addWidget(new RectButtonWidget(10, y, size.width - 20, 20, 1).setClickListener(clickData -> {
                    if (!isRemote()) {
                        ((MetaTileEntityMaintenanceHatch) mte).fixAllMaintenanceProblems();
                    }
                }).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.maintenance", -1)));
                y += 25;
            }
        }
        // CoverBehavior
        CoverBehavior cover = mte.getCoverAtSide(facing);
        if (cover != null) {
            this.addWidget(new SlotWidget(new ItemStackHandler(NonNullList.withSize(1, cover.getPickItem())), 0, 10, y, false, false));
            addWidget(new SimpleTextWidget(58, y + 10, "terminal.console.cover_rs", -1, () -> String.valueOf(cover.getRedstoneSignalOutput())).setShadow(true).setCenter(true));
            if (cover instanceof CoverWithUI) {
                addWidget(new RectButtonWidget(83, y, 40, 20, 1).setClickListener(clickData -> uiWidgetGroup.openUI(((CoverWithUI) cover).createUI(gui.entityPlayer))).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.cover_gui", -1)));
            }
            y += 25;
        }
        addWidget(new RectButtonWidget(10, y, size.width - 20, 20, 1).setClickListener(clickData -> uiWidgetGroup.openUI(mte.getModularUI(gui.entityPlayer))).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.gui", -1)));
        addWidget(uiWidgetGroup);
    }
}
Also used : MetaTileEntityQuantumTank(gregtech.common.metatileentities.storage.MetaTileEntityQuantumTank) IRenderContext(gregtech.api.gui.IRenderContext) Size(gregtech.api.util.Size) EnumHand(net.minecraft.util.EnumHand) TerminalTheme(gregtech.api.terminal.os.TerminalTheme) GregtechTileCapabilities(gregtech.api.capability.GregtechTileCapabilities) CoverBehavior(gregtech.api.cover.CoverBehavior) TextTexture(gregtech.api.gui.resources.TextTexture) ItemStackTexture(gregtech.api.gui.resources.ItemStackTexture) CoverWithUI(gregtech.api.cover.CoverWithUI) Widget(gregtech.api.gui.Widget) gregtech.api.gui.widgets(gregtech.api.gui.widgets) SimpleMachineMetaTileEntity(gregtech.api.metatileentity.SimpleMachineMetaTileEntity) MetaTileEntityQuantumChest(gregtech.common.metatileentities.storage.MetaTileEntityQuantumChest) NonNullList(net.minecraft.util.NonNullList) GL11(org.lwjgl.opengl.GL11) MetaTileEntityHolder(gregtech.api.metatileentity.MetaTileEntityHolder) MetaTileEntity(gregtech.api.metatileentity.MetaTileEntity) AbstractRecipeLogic(gregtech.api.capability.impl.AbstractRecipeLogic) Items(net.minecraft.init.Items) GlStateManager(net.minecraft.client.renderer.GlStateManager) EnumFacing(net.minecraft.util.EnumFacing) IControllable(gregtech.api.capability.IControllable) BlockPos(net.minecraft.util.math.BlockPos) MetaTileEntityMaintenanceHatch(gregtech.common.metatileentities.multi.multiblockpart.MetaTileEntityMaintenanceHatch) GuiTextures(gregtech.api.gui.GuiTextures) RecipeLogicSteam(gregtech.api.capability.impl.RecipeLogicSteam) RectButtonWidget(gregtech.api.terminal.gui.widgets.RectButtonWidget) ItemStackHandler(net.minecraftforge.items.ItemStackHandler) IGuiTexture(gregtech.api.gui.resources.IGuiTexture) ModularUI(gregtech.api.gui.ModularUI) TileEntity(net.minecraft.tileentity.TileEntity) MetaTileEntityMultiblockPart(gregtech.common.metatileentities.multi.multiblockpart.MetaTileEntityMultiblockPart) PacketBuffer(net.minecraft.network.PacketBuffer) ItemStackHandler(net.minecraftforge.items.ItemStackHandler) SimpleMachineMetaTileEntity(gregtech.api.metatileentity.SimpleMachineMetaTileEntity) Size(gregtech.api.util.Size) EnumFacing(net.minecraft.util.EnumFacing) MetaTileEntityQuantumChest(gregtech.common.metatileentities.storage.MetaTileEntityQuantumChest) RecipeLogicSteam(gregtech.api.capability.impl.RecipeLogicSteam) TextTexture(gregtech.api.gui.resources.TextTexture) CoverBehavior(gregtech.api.cover.CoverBehavior) CoverWithUI(gregtech.api.cover.CoverWithUI) AbstractRecipeLogic(gregtech.api.capability.impl.AbstractRecipeLogic) ItemStackTexture(gregtech.api.gui.resources.ItemStackTexture) MetaTileEntityMaintenanceHatch(gregtech.common.metatileentities.multi.multiblockpart.MetaTileEntityMaintenanceHatch) IControllable(gregtech.api.capability.IControllable) MetaTileEntityMultiblockPart(gregtech.common.metatileentities.multi.multiblockpart.MetaTileEntityMultiblockPart) MetaTileEntityQuantumTank(gregtech.common.metatileentities.storage.MetaTileEntityQuantumTank) RectButtonWidget(gregtech.api.terminal.gui.widgets.RectButtonWidget)

Aggregations

RectButtonWidget (gregtech.api.terminal.gui.widgets.RectButtonWidget)13 TextTexture (gregtech.api.gui.resources.TextTexture)8 TerminalTheme (gregtech.api.terminal.os.TerminalTheme)7 DraggableScrollableWidgetGroup (gregtech.api.terminal.gui.widgets.DraggableScrollableWidgetGroup)6 ImageWidget (gregtech.api.gui.widgets.ImageWidget)5 AbstractApplication (gregtech.api.terminal.app.AbstractApplication)5 JsonElement (com.google.gson.JsonElement)4 GuiTextures (gregtech.api.gui.GuiTextures)4 WidgetGroup (gregtech.api.gui.widgets.WidgetGroup)4 Gson (com.google.gson.Gson)3 IRenderContext (gregtech.api.gui.IRenderContext)3 gregtech.api.gui.widgets (gregtech.api.gui.widgets)3 LabelWidget (gregtech.api.gui.widgets.LabelWidget)3 TerminalDialogWidget (gregtech.api.terminal.os.TerminalDialogWidget)3 java.util (java.util)3 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)3 GlStateManager (net.minecraft.client.renderer.GlStateManager)3 PacketBuffer (net.minecraft.network.PacketBuffer)3 JsonObject (com.google.gson.JsonObject)2 ColorRectTexture (gregtech.api.gui.resources.ColorRectTexture)2