Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Mrhand3.SOARYN.InventoryReg.gui;
- import net.minecraft.client.gui.inventory.GuiContainer;
- import net.minecraft.client.renderer.RenderHelper;
- import net.minecraft.util.StatCollector;
- import org.lwjgl.opengl.GL11;
- import org.lwjgl.opengl.GL12;
- public abstract class BaseGuiContainer < T extends Mrhand3.SOARYN.Gui.ContainerInventory<? >> extends
- GuiContainer
- {
- protected Base root;
- protected String name;
- public BaseGuiContainer(T container, int width, int height, String name)
- {
- super(container);
- xSize = width;
- ySize = height;
- root = createRoot();
- this.name = name;
- }
- protected Base createRoot()
- {
- return new Panel(0, 0, xSize, ySize, getContainer());
- }
- @SuppressWarnings("unchecked")
- public T getContainer()
- {
- return (T)inventorySlots;
- }
- @Override
- protected void mouseClickMove(int mouseX, int mouseY, int button, long time)
- {
- super.mouseClickMove(mouseX, mouseY, button, time);
- root.mouseClickMove(mouseX - this.guiLeft, mouseY - this.guiTop, button, time);
- }
- public void preRender(float mouseX, float mouseY)
- {
- root.mouseMovedOrUp((int)mouseX - this.guiLeft, (int)mouseY - this.guiTop, -1);
- }
- @Override
- protected void keyTyped(char par1, int par2)
- {
- super.keyTyped(par1, par2);
- root.keyTyped(par1, par2);
- }
- public void postRender(int mouseX, int mouseY) {}
- @Override
- protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
- {
- this.preRender(mouseX, mouseY);
- GL11.glPushMatrix();
- GL11.glTranslated(this.guiLeft, this.guiTop, 0);
- Base.IS_OVERLAY_PASS = false;
- root.render(this.mc, 0, 0, mouseX - this.guiLeft, mouseY - this.guiTop);
- GL11.glPopMatrix();
- }
- @Override
- protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
- {
- this.postRender(mouseX, mouseY);
- String machineName = StatCollector.translateToLocal(name);
- int x = this.xSize / 2 - (fontRenderer.getStringWidth(machineName) / 2);
- fontRenderer.drawString(machineName, x, 6, 4210752);
- String translatedName = StatCollector.translateToLocal("container.inventory");
- fontRenderer.drawString(translatedName, 8, this.ySize - 96 + 2, 4210752);
- }
- @Override
- public void drawScreen(int par1, int par2, float par3)
- {
- super.drawScreen(par1, par2, par3);
- GL11.glDisable(GL12.GL_RESCALE_NORMAL);
- RenderHelper.disableStandardItemLighting();
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glDisable(GL11.GL_DEPTH_TEST);
- GL11.glPushMatrix();
- Base.IS_OVERLAY_PASS = true;
- root.render(this.mc, this.guiLeft, this.guiTop, par1 - this.guiLeft, par2 - this.guiTop);
- GL11.glPopMatrix();
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL11.GL_DEPTH_TEST);
- RenderHelper.enableStandardItemLighting();
- }
- public void sendButtonClick(int buttonId)
- {
- this.mc.playerController.sendEnchantPacket(getContainer().windowId, buttonId);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment