use of pneumaticCraft.common.inventory.ContainerAmadronAddTrade in project PneumaticCraft by MineMaarten.
the class GuiAmadronAddTrade method updateScreen.
@Override
public void updateScreen() {
super.updateScreen();
ContainerAmadronAddTrade container = (ContainerAmadronAddTrade) inventorySlots;
addButton.enabled = inputNumber.getValue() > 0 && outputNumber.getValue() > 0 && (inputFluid.getFluid() != null || container.getStack(0) != null) && (outputFluid.getFluid() != null || container.getStack(1) != null) && getInputPosition() != null && getOutputPosition() != null;
}
use of pneumaticCraft.common.inventory.ContainerAmadronAddTrade in project PneumaticCraft by MineMaarten.
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.GPSTool));
gpsButton2.setRenderStacks(new ItemStack(Itemss.GPSTool));
addWidget(gpsButton1);
addWidget(gpsButton2);
inputNumber = new WidgetTextFieldNumber(fontRendererObj, guiLeft + 6, guiTop + 145, 40, fontRendererObj.FONT_HEIGHT).setValue(inputNumber != null ? inputNumber.getValue() : 0);
outputNumber = new WidgetTextFieldNumber(fontRendererObj, guiLeft + 95, guiTop + 145, 40, fontRendererObj.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, null);
inputFluid.setFluid(fluidGui.getFilter());
} else {
container.setStack(1, null);
outputFluid.setFluid(fluidGui.getFilter());
}
}
if (gpsSearchGui != null) {
if (isSettingInput) {
inputPosition = gpsSearchGui.getSearchStack() != null ? ItemGPSTool.getGPSLocation(gpsSearchGui.getSearchStack()) : null;
} else {
outputPosition = gpsSearchGui.getSearchStack() != null ? ItemGPSTool.getGPSLocation(gpsSearchGui.getSearchStack()) : null;
}
}
searchGui = null;
fluidGui = null;
invSearchGui = null;
gpsSearchGui = null;
inputNumberLabel = new WidgetLabel(guiLeft + 52, guiTop + 145, container.getStack(0) != null ? "x" : inputFluid.getFluid() != null ? "mB" : "");
outputNumberLabel = new WidgetLabel(guiLeft + 149, guiTop + 145, container.getStack(1) != null ? "x" : outputFluid.getFluid() != null ? "mB" : "");
addWidget(inputNumberLabel);
addWidget(outputNumberLabel);
}
use of pneumaticCraft.common.inventory.ContainerAmadronAddTrade in project PneumaticCraft by MineMaarten.
the class GuiAmadronAddTrade method actionPerformed.
@Override
public void actionPerformed(GuiButton button) {
EntityPlayer player = FMLClientHandler.instance().getClient().thePlayer;
ContainerAmadronAddTrade container = (ContainerAmadronAddTrade) inventorySlots;
if (button.id < 6 && button.id >= 0) {
isSettingInput = button.id < 3;
if (button.id % 3 == 0) {
searchGui = new GuiSearcher(player);
searchGui.setSearchStack(container.getStack(isSettingInput ? 0 : 1));
FMLClientHandler.instance().showGuiScreen(searchGui);
} else if (button.id % 3 == 1) {
invSearchGui = new GuiInventorySearcher(player);
invSearchGui.setSearchStack(container.getStack(isSettingInput ? 0 : 1));
FMLClientHandler.instance().showGuiScreen(invSearchGui);
} else if (button.id % 3 == 2) {
fluidGui = new GuiLogisticsLiquidFilter(this);
fluidGui.setFilter(isSettingInput ? inputFluid.getFluid() : outputFluid.getFluid());
FMLClientHandler.instance().showGuiScreen(fluidGui);
}
} else if (button.id == 8) {
Object input;
if (container.getStack(0) != null) {
input = container.getStack(0).copy();
((ItemStack) input).stackSize = inputNumber.getValue();
} else {
input = new FluidStack(inputFluid.getFluid(), inputNumber.getValue());
}
Object output;
if (container.getStack(1) != null) {
output = container.getStack(1).copy();
((ItemStack) output).stackSize = outputNumber.getValue();
} else {
output = new FluidStack(outputFluid.getFluid(), outputNumber.getValue());
}
AmadronOfferCustom trade = new AmadronOfferCustom(input, output, player);
ChunkPosition pos = getInputPosition();
int dimensionId = getInputDimension();
trade.setProvidingPosition(pos, dimensionId);
pos = getOutputPosition();
dimensionId = getOutputDimension();
trade.setReturningPosition(pos, dimensionId);
NetworkHandler.sendToServer(new PacketAmadronTradeAdd(trade.invert()));
player.closeScreen();
}
super.actionPerformed(button);
}
Aggregations