Search in sources :

Example 1 with WidgetGroup

use of gregtech.api.gui.widgets.WidgetGroup in project GregTech by GregTechCE.

the class ItemListGridWidget method addSlotRows.

private void addSlotRows(int amount) {
    for (int i = 0; i < amount; i++) {
        int widgetAmount = widgets.size();
        WidgetGroup widgetGroup = new WidgetGroup();
        for (int j = 0; j < slotAmountX; j++) {
            Widget widget = new ItemListSlotWidget(j * 18, 0, this, widgetAmount * 9 + j);
            widgetGroup.addWidget(widget);
        }
        addWidget(widgetGroup);
    }
}
Also used : INativeWidget(gregtech.api.gui.INativeWidget) Widget(gregtech.api.gui.Widget) ScrollableListWidget(gregtech.api.gui.widgets.ScrollableListWidget) WidgetGroup(gregtech.api.gui.widgets.WidgetGroup)

Example 2 with WidgetGroup

use of gregtech.api.gui.widgets.WidgetGroup 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);
}
Also used : Matrix4(codechicken.lib.vec.Matrix4) IVertexOperation(codechicken.lib.render.pipeline.IVertexOperation) EnumHand(net.minecraft.util.EnumHand) CoverBehavior(gregtech.api.cover.CoverBehavior) CoverWithUI(gregtech.api.cover.CoverWithUI) EntityPlayerMP(net.minecraft.entity.player.EntityPlayerMP) IFluidTankProperties(net.minecraftforge.fluids.capability.IFluidTankProperties) CycleButtonWidget(gregtech.api.gui.widgets.CycleButtonWidget) CuboidRayTraceResult(codechicken.lib.raytracer.CuboidRayTraceResult) Nullable(javax.annotation.Nullable) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) CCRenderState(codechicken.lib.render.CCRenderState) IFluidHandler(net.minecraftforge.fluids.capability.IFluidHandler) CapabilityFluidHandler(net.minecraftforge.fluids.capability.CapabilityFluidHandler) WidgetGroup(gregtech.api.gui.widgets.WidgetGroup) EnumFacing(net.minecraft.util.EnumFacing) FluidHandlerDelegate(gregtech.api.capability.impl.FluidHandlerDelegate) LabelWidget(gregtech.api.gui.widgets.LabelWidget) ICoverable(gregtech.api.cover.ICoverable) GuiTextures(gregtech.api.gui.GuiTextures) BlockRenderLayer(net.minecraft.util.BlockRenderLayer) Capability(net.minecraftforge.common.capabilities.Capability) SimpleOverlayRenderer(gregtech.api.render.SimpleOverlayRenderer) FluidFilter(gregtech.common.covers.filter.FluidFilter) EntityPlayer(net.minecraft.entity.player.EntityPlayer) EnumActionResult(net.minecraft.util.EnumActionResult) ModularUI(gregtech.api.gui.ModularUI) FluidFilterWrapper(gregtech.common.covers.filter.FluidFilterWrapper) FluidStack(net.minecraftforge.fluids.FluidStack) GTUtility(gregtech.api.util.GTUtility) Cuboid6(codechicken.lib.vec.Cuboid6) LabelWidget(gregtech.api.gui.widgets.LabelWidget) CycleButtonWidget(gregtech.api.gui.widgets.CycleButtonWidget) WidgetGroup(gregtech.api.gui.widgets.WidgetGroup)

Example 3 with WidgetGroup

use of gregtech.api.gui.widgets.WidgetGroup 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);
}
Also used : IItemHandler(net.minecraftforge.items.IItemHandler) Matrix4(codechicken.lib.vec.Matrix4) IVertexOperation(codechicken.lib.render.pipeline.IVertexOperation) EnumHand(net.minecraft.util.EnumHand) CoverBehavior(gregtech.api.cover.CoverBehavior) CoverWithUI(gregtech.api.cover.CoverWithUI) EntityPlayerMP(net.minecraft.entity.player.EntityPlayerMP) ItemStack(net.minecraft.item.ItemStack) CycleButtonWidget(gregtech.api.gui.widgets.CycleButtonWidget) CuboidRayTraceResult(codechicken.lib.raytracer.CuboidRayTraceResult) Nonnull(javax.annotation.Nonnull) ItemFilter(gregtech.common.covers.filter.ItemFilter) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) CCRenderState(codechicken.lib.render.CCRenderState) ItemHandlerDelegate(gregtech.api.capability.impl.ItemHandlerDelegate) WidgetGroup(gregtech.api.gui.widgets.WidgetGroup) EnumFacing(net.minecraft.util.EnumFacing) LabelWidget(gregtech.api.gui.widgets.LabelWidget) ICoverable(gregtech.api.cover.ICoverable) GuiTextures(gregtech.api.gui.GuiTextures) BlockRenderLayer(net.minecraft.util.BlockRenderLayer) Capability(net.minecraftforge.common.capabilities.Capability) SimpleOverlayRenderer(gregtech.api.render.SimpleOverlayRenderer) ItemFilterWrapper(gregtech.common.covers.filter.ItemFilterWrapper) EntityPlayer(net.minecraft.entity.player.EntityPlayer) EnumActionResult(net.minecraft.util.EnumActionResult) CapabilityItemHandler(net.minecraftforge.items.CapabilityItemHandler) ModularUI(gregtech.api.gui.ModularUI) GTUtility(gregtech.api.util.GTUtility) Cuboid6(codechicken.lib.vec.Cuboid6) LabelWidget(gregtech.api.gui.widgets.LabelWidget) CycleButtonWidget(gregtech.api.gui.widgets.CycleButtonWidget) WidgetGroup(gregtech.api.gui.widgets.WidgetGroup)

Example 4 with WidgetGroup

use of gregtech.api.gui.widgets.WidgetGroup in project GregTech by GregTechCE.

the class CoverRoboticArm method buildUI.

@Override
protected ModularUI buildUI(Builder builder, EntityPlayer player) {
    WidgetGroup filterGroup = new WidgetGroup();
    filterGroup.addWidget(new CycleButtonWidget(91, 45, 75, 20, TransferMode.class, this::getTransferMode, this::setTransferMode).setTooltipHoverString("cover.robotic_arm.transfer_mode.description"));
    return super.buildUI(builder.widget(filterGroup), player);
}
Also used : CycleButtonWidget(gregtech.api.gui.widgets.CycleButtonWidget) WidgetGroup(gregtech.api.gui.widgets.WidgetGroup)

Aggregations

WidgetGroup (gregtech.api.gui.widgets.WidgetGroup)4 CycleButtonWidget (gregtech.api.gui.widgets.CycleButtonWidget)3 CuboidRayTraceResult (codechicken.lib.raytracer.CuboidRayTraceResult)2 CCRenderState (codechicken.lib.render.CCRenderState)2 IVertexOperation (codechicken.lib.render.pipeline.IVertexOperation)2 Cuboid6 (codechicken.lib.vec.Cuboid6)2 Matrix4 (codechicken.lib.vec.Matrix4)2 CoverBehavior (gregtech.api.cover.CoverBehavior)2 CoverWithUI (gregtech.api.cover.CoverWithUI)2 ICoverable (gregtech.api.cover.ICoverable)2 GuiTextures (gregtech.api.gui.GuiTextures)2 ModularUI (gregtech.api.gui.ModularUI)2 LabelWidget (gregtech.api.gui.widgets.LabelWidget)2 SimpleOverlayRenderer (gregtech.api.render.SimpleOverlayRenderer)2 GTUtility (gregtech.api.util.GTUtility)2 EntityPlayer (net.minecraft.entity.player.EntityPlayer)2 EntityPlayerMP (net.minecraft.entity.player.EntityPlayerMP)2 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)2 BlockRenderLayer (net.minecraft.util.BlockRenderLayer)2 EnumActionResult (net.minecraft.util.EnumActionResult)2