package openmods.gui; import net.minecraft.util.StatCollector; import openmods.container.ContainerBase; import openmods.gui.component.BaseComposite; import openmods.gui.component.GuiComponentPanel; public abstract class BaseGuiContainer<T extends ContainerBase<?>> extends ComponentGui { protected final String name; public BaseGuiContainer(T container, int width, int height, String name) { super(container, width, height); this.name = name; } @Override protected BaseComposite createRoot() { return new GuiComponentPanel(0, 0, xSize, ySize, getContainer()); } @SuppressWarnings("unchecked") public T getContainer() { return (T)inventorySlots; } @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { super.drawGuiContainerForegroundLayer(mouseX, mouseY); String machineName = StatCollector.translateToLocal(name); int x = this.xSize / 2 - (fontRendererObj.getStringWidth(machineName) / 2); fontRendererObj.drawString(machineName, x, 6, 4210752); String translatedName = StatCollector.translateToLocal("container.inventory"); fontRendererObj.drawString(translatedName, 8, this.ySize - 96 + 2, 4210752); } public void sendButtonClick(int buttonId) { this.mc.playerController.sendEnchantPacket(getContainer().windowId, buttonId); } }