Files
2019-02-24 22:29:41 +08:00

89 lines
3.6 KiB
Diff

--- ../src-base/minecraft/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java
+++ ../src-work/minecraft/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java
@@ -29,6 +29,7 @@
private int scrollMouseX;
private int scrollMouseY;
private boolean isScrolling;
+ private static int tabPage, maxPages;
public GuiScreenAdvancements(ClientAdvancementManager p_i47383_1_)
{
@@ -49,6 +50,14 @@
{
this.clientAdvancementManager.setSelectedTab(this.selectedTab == null ? null : this.selectedTab.getAdvancement(), true);
}
+ if (this.tabs.size() > AdvancementTabType.MAX_TABS)
+ {
+ int guiLeft = (this.width - 252) / 2;
+ int guiTop = (this.height - 140) / 2;
+ this.buttonList.add(new net.minecraft.client.gui.GuiButton(101, guiLeft, guiTop - 50, 20, 20, "<"));
+ this.buttonList.add(new net.minecraft.client.gui.GuiButton(102, guiLeft + 252 - 20, guiTop - 50, 20, 20, ">"));
+ maxPages = this.tabs.size() / AdvancementTabType.MAX_TABS;
+ }
}
public void onGuiClosed()
@@ -71,7 +80,7 @@
for (GuiAdvancementTab guiadvancementtab : this.tabs.values())
{
- if (guiadvancementtab.isMouseOver(i, j, mouseX, mouseY))
+ if (guiadvancementtab.getPage() == tabPage && guiadvancementtab.isMouseOver(i, j, mouseX, mouseY))
{
this.clientAdvancementManager.setSelectedTab(guiadvancementtab.getAdvancement(), true);
break;
@@ -122,6 +131,14 @@
this.drawDefaultBackground();
this.renderInside(mouseX, mouseY, i, j);
this.renderWindow(i, j);
+ super.drawScreen(mouseX, mouseY, partialTicks);
+ if (maxPages != 0)
+ {
+ String page = String.format("%d / %d", tabPage + 1, maxPages + 1);
+ int width = this.fontRenderer.getStringWidth(page);
+ GlStateManager.disableLighting();
+ this.fontRenderer.drawStringWithShadow(page, i + (252 / 2) - (width / 2), j - 44, -1);
+ }
this.renderToolTips(mouseX, mouseY, i, j);
}
@@ -163,6 +180,7 @@
for (GuiAdvancementTab guiadvancementtab : this.tabs.values())
{
+ if(guiadvancementtab.getPage() == tabPage)
guiadvancementtab.drawTab(p_191934_1_, p_191934_2_, guiadvancementtab == this.selectedTab);
}
@@ -172,6 +190,7 @@
for (GuiAdvancementTab guiadvancementtab1 : this.tabs.values())
{
+ if(guiadvancementtab1.getPage() == tabPage)
guiadvancementtab1.drawIcon(p_191934_1_, p_191934_2_, this.itemRender);
}
@@ -199,7 +218,7 @@
{
for (GuiAdvancementTab guiadvancementtab : this.tabs.values())
{
- if (guiadvancementtab.isMouseOver(p_191937_3_, p_191937_4_, p_191937_1_, p_191937_2_))
+ if (guiadvancementtab.getPage() == tabPage && guiadvancementtab.isMouseOver(p_191937_3_, p_191937_4_, p_191937_1_, p_191937_2_))
{
this.drawHoveringText(guiadvancementtab.getTitle(), p_191937_1_, p_191937_2_);
}
@@ -273,4 +292,13 @@
return this.tabs.get(p_191935_1_);
}
+
+ @Override
+ protected void actionPerformed(net.minecraft.client.gui.GuiButton button) throws IOException
+ {
+ if(button.id == 101)
+ tabPage = Math.max(tabPage - 1, 0);
+ else if(button.id == 102)
+ tabPage = Math.min(tabPage + 1, maxPages);
+ }
}