Search in sources :

Example 1 with WidgetFluidFilter

use of me.desht.pneumaticcraft.client.gui.widget.WidgetFluidFilter in project pnc-repressurized by TeamPneumatic.

the class GuiProgWidgetLiquidFilter method initGui.

@Override
public void initGui() {
    super.initGui();
    mainFilter = new WidgetFluidFilter(-1, guiLeft + 124, guiTop + 25).setFluid(widget.getFluid());
    addWidget(mainFilter);
    for (int x = 0; x < GRID_WIDTH; x++) {
        for (int y = 0; y < GRID_HEIGHT; y++) {
            addWidget(new WidgetFluidFilter(x + y * GRID_WIDTH, guiLeft + 8 + x * 18, guiTop + 52 + y * 18));
        }
    }
    searchField = new WidgetTextField(Minecraft.getMinecraft().fontRenderer, guiLeft + 10, guiTop + 30, 90, 10);
    addWidget(searchField);
    searchField.setFocused(true);
    scrollbar = new WidgetVerticalScrollbar(guiLeft + 155, guiTop + 47, 112);
    scrollbar.setListening(true);
    addWidget(scrollbar);
    addValidFluids();
}
Also used : WidgetFluidFilter(me.desht.pneumaticcraft.client.gui.widget.WidgetFluidFilter) WidgetTextField(me.desht.pneumaticcraft.client.gui.widget.WidgetTextField) WidgetVerticalScrollbar(me.desht.pneumaticcraft.client.gui.widget.WidgetVerticalScrollbar)

Example 2 with WidgetFluidFilter

use of me.desht.pneumaticcraft.client.gui.widget.WidgetFluidFilter in project pnc-repressurized by TeamPneumatic.

the class GuiProgWidgetLiquidFilter method addValidFluids.

private void addValidFluids() {
    List<Fluid> fluids = new ArrayList<Fluid>();
    for (Fluid fluid : FluidRegistry.getRegisteredFluids().values()) {
        if (fluid.getLocalizedName(new FluidStack(fluid, 1)).toLowerCase().contains(searchField.getText())) {
            fluids.add(fluid);
        }
    }
    fluids.sort(Comparator.comparing(Fluid::getName));
    scrollbar.setStates(Math.max(0, (fluids.size() - GRID_WIDTH * GRID_HEIGHT + GRID_WIDTH - 1) / GRID_WIDTH));
    int offset = scrollbar.getState() * GRID_WIDTH;
    for (IGuiWidget widget : widgets) {
        if (widget.getID() >= 0 && widget instanceof WidgetFluidFilter) {
            int idWithOffset = widget.getID() + offset;
            ((WidgetFluidFilter) widget).setFluid(idWithOffset >= 0 && idWithOffset < fluids.size() ? fluids.get(idWithOffset) : null);
        }
    }
}
Also used : FluidStack(net.minecraftforge.fluids.FluidStack) IGuiWidget(me.desht.pneumaticcraft.client.gui.widget.IGuiWidget) Fluid(net.minecraftforge.fluids.Fluid) ArrayList(java.util.ArrayList) WidgetFluidFilter(me.desht.pneumaticcraft.client.gui.widget.WidgetFluidFilter)

Example 3 with WidgetFluidFilter

use of me.desht.pneumaticcraft.client.gui.widget.WidgetFluidFilter in project pnc-repressurized by TeamPneumatic.

the class GuiAmadronAddTrade method initGui.

@Override
public void initGui() {
    super.initGui();
    ContainerAmadronAddTrade container = (ContainerAmadronAddTrade) inventorySlots;
    addLabel(I18n.format("gui.amadron.addTrade.selling"), guiLeft + 4, guiTop + 5);
    addLabel(I18n.format("gui.amadron.addTrade.buying"), guiLeft + 93, guiTop + 5);
    buttonList.add(new GuiButton(0, guiLeft + 4, guiTop + 20, 85, 20, "Search item..."));
    buttonList.add(new GuiButton(1, guiLeft + 4, guiTop + 42, 85, 20, "Search inv..."));
    buttonList.add(new GuiButton(2, guiLeft + 4, guiTop + 64, 85, 20, "Search fluid..."));
    buttonList.add(new GuiButton(3, guiLeft + 93, guiTop + 20, 85, 20, "Search item..."));
    buttonList.add(new GuiButton(4, guiLeft + 93, guiTop + 42, 85, 20, "Search inv..."));
    buttonList.add(new GuiButton(5, guiLeft + 93, guiTop + 64, 85, 20, "Search fluid..."));
    buttonList.add(addButton = new GuiButton(8, guiLeft + 50, guiTop + 164, 85, 20, "Add Trade"));
    Fluid oldInputFluid = inputFluid != null ? inputFluid.getFluid() : null;
    Fluid oldOutputFluid = outputFluid != null ? outputFluid.getFluid() : null;
    inputFluid = new WidgetFluidFilter(-1, guiLeft + 10, guiTop + 90);
    outputFluid = new WidgetFluidFilter(-1, guiLeft + 99, guiTop + 90);
    inputFluid.setFluid(oldInputFluid);
    outputFluid.setFluid(oldOutputFluid);
    addWidget(inputFluid);
    addWidget(outputFluid);
    GuiButtonSpecial gpsButton1 = new GuiButtonSpecial(6, guiLeft + 10, guiTop + 115, 20, 20, "");
    GuiButtonSpecial gpsButton2 = new GuiButtonSpecial(7, guiLeft + 99, guiTop + 115, 20, 20, "");
    gpsButton1.setTooltipText(Arrays.asList(WordUtils.wrap(I18n.format("gui.amadron.button.selectSellingBlock.tooltip"), 40).split(System.getProperty("line.separator"))));
    gpsButton2.setTooltipText(Arrays.asList(WordUtils.wrap(I18n.format("gui.amadron.button.selectPaymentBlock.tooltip"), 40).split(System.getProperty("line.separator"))));
    gpsButton1.setRenderStacks(new ItemStack(Itemss.GPS_TOOL));
    gpsButton2.setRenderStacks(new ItemStack(Itemss.GPS_TOOL));
    addWidget(gpsButton1);
    addWidget(gpsButton2);
    inputNumber = new WidgetTextFieldNumber(fontRenderer, guiLeft + 6, guiTop + 145, 40, fontRenderer.FONT_HEIGHT).setValue(inputNumber != null ? inputNumber.getValue() : 0);
    outputNumber = new WidgetTextFieldNumber(fontRenderer, guiLeft + 95, guiTop + 145, 40, fontRenderer.FONT_HEIGHT).setValue(outputNumber != null ? outputNumber.getValue() : 0);
    inputNumber.setTooltip(I18n.format("gui.amadron.addTrade.itemFluidAmount"));
    outputNumber.setTooltip(I18n.format("gui.amadron.addTrade.itemFluidAmount"));
    addWidget(inputNumber);
    addWidget(outputNumber);
    if (searchGui != null) {
        if (isSettingInput) {
            inputFluid.setFluid(null);
            container.setStack(0, searchGui.getSearchStack());
        } else {
            outputFluid.setFluid(null);
            container.setStack(1, searchGui.getSearchStack());
        }
    }
    if (invSearchGui != null) {
        if (isSettingInput) {
            inputFluid.setFluid(null);
            container.setStack(0, invSearchGui.getSearchStack());
        } else {
            outputFluid.setFluid(null);
            container.setStack(1, invSearchGui.getSearchStack());
        }
    }
    if (fluidGui != null) {
        if (isSettingInput) {
            container.setStack(0, ItemStack.EMPTY);
            inputFluid.setFluid(fluidGui.getFilter());
        } else {
            container.setStack(1, ItemStack.EMPTY);
            outputFluid.setFluid(fluidGui.getFilter());
        }
    }
    if (gpsSearchGui != null) {
        if (isSettingInput) {
            inputPosition = gpsSearchGui.getSearchStack().isEmpty() ? null : ItemGPSTool.getGPSLocation(gpsSearchGui.getSearchStack());
        } else {
            outputPosition = gpsSearchGui.getSearchStack().isEmpty() ? null : ItemGPSTool.getGPSLocation(gpsSearchGui.getSearchStack());
        }
    }
    searchGui = null;
    fluidGui = null;
    invSearchGui = null;
    gpsSearchGui = null;
    inputNumberLabel = new WidgetLabel(guiLeft + 52, guiTop + 145, container.getStack(0).isEmpty() ? inputFluid.getFluid() != null ? "mB" : "" : "x");
    outputNumberLabel = new WidgetLabel(guiLeft + 149, guiTop + 145, container.getStack(1).isEmpty() ? outputFluid.getFluid() != null ? "mB" : "" : "x");
    addWidget(inputNumberLabel);
    addWidget(outputNumberLabel);
}
Also used : WidgetLabel(me.desht.pneumaticcraft.client.gui.widget.WidgetLabel) ContainerAmadronAddTrade(me.desht.pneumaticcraft.common.inventory.ContainerAmadronAddTrade) GuiButton(net.minecraft.client.gui.GuiButton) WidgetTextFieldNumber(me.desht.pneumaticcraft.client.gui.widget.WidgetTextFieldNumber) Fluid(net.minecraftforge.fluids.Fluid) WidgetFluidFilter(me.desht.pneumaticcraft.client.gui.widget.WidgetFluidFilter) ItemStack(net.minecraft.item.ItemStack)

Aggregations

WidgetFluidFilter (me.desht.pneumaticcraft.client.gui.widget.WidgetFluidFilter)3 Fluid (net.minecraftforge.fluids.Fluid)2 ArrayList (java.util.ArrayList)1 IGuiWidget (me.desht.pneumaticcraft.client.gui.widget.IGuiWidget)1 WidgetLabel (me.desht.pneumaticcraft.client.gui.widget.WidgetLabel)1 WidgetTextField (me.desht.pneumaticcraft.client.gui.widget.WidgetTextField)1 WidgetTextFieldNumber (me.desht.pneumaticcraft.client.gui.widget.WidgetTextFieldNumber)1 WidgetVerticalScrollbar (me.desht.pneumaticcraft.client.gui.widget.WidgetVerticalScrollbar)1 ContainerAmadronAddTrade (me.desht.pneumaticcraft.common.inventory.ContainerAmadronAddTrade)1 GuiButton (net.minecraft.client.gui.GuiButton)1 ItemStack (net.minecraft.item.ItemStack)1 FluidStack (net.minecraftforge.fluids.FluidStack)1