66 lines
2.1 KiB
Java
66 lines
2.1 KiB
Java
|
|
package appeng.fluids.client.gui;
|
|
|
|
import net.minecraft.entity.player.PlayerInventory;
|
|
import net.minecraft.text.Text;
|
|
|
|
import appeng.client.gui.implementations.UpgradeableScreen;
|
|
import appeng.client.gui.widgets.TabButton;
|
|
import appeng.container.implementations.PriorityContainer;
|
|
import appeng.core.localization.GuiText;
|
|
import appeng.core.sync.network.NetworkHandler;
|
|
import appeng.core.sync.packets.SwitchGuisPacket;
|
|
import appeng.fluids.client.gui.widgets.FluidSlotWidget;
|
|
import appeng.fluids.client.gui.widgets.OptionalFluidSlotWidget;
|
|
import appeng.fluids.container.FluidFormationPlaneContainer;
|
|
import appeng.fluids.util.IAEFluidTank;
|
|
|
|
public class FluidFormationPlaneScreen extends UpgradeableScreen<FluidFormationPlaneContainer> {
|
|
public FluidFormationPlaneScreen(FluidFormationPlaneContainer container, PlayerInventory playerInventory,
|
|
Text title) {
|
|
super(container, playerInventory, title);
|
|
this.ySize = 251;
|
|
}
|
|
|
|
@Override
|
|
public void init() {
|
|
super.init();
|
|
|
|
final int xo = 8;
|
|
final int yo = 23 + 6;
|
|
|
|
final IAEFluidTank config = container.getFluidConfigInventory();
|
|
|
|
for (int y = 0; y < 7; y++) {
|
|
for (int x = 0; x < 9; x++) {
|
|
final int idx = y * 9 + x;
|
|
if (y < 2) {
|
|
this.guiSlots.add(new FluidSlotWidget(config, idx, idx, xo + x * 18, yo + y * 18));
|
|
} else {
|
|
this.guiSlots.add(new OptionalFluidSlotWidget(config, container, idx, idx, y - 2, xo, yo, x, y));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void addButtons() {
|
|
this.addButton(new TabButton(this.guiLeft + 154, this.guiTop, 2 + 4 * 16, GuiText.Priority.getLocal(),
|
|
this.itemRenderer, btn -> openPriorityGui()));
|
|
}
|
|
|
|
private void openPriorityGui() {
|
|
NetworkHandler.instance().sendToServer(new SwitchGuisPacket(PriorityContainer.TYPE));
|
|
}
|
|
|
|
@Override
|
|
protected String getBackground() {
|
|
return "guis/storagebus.png";
|
|
}
|
|
|
|
@Override
|
|
protected GuiText getName() {
|
|
return GuiText.FluidFormationPlane;
|
|
}
|
|
}
|