83 lines
3.9 KiB
Diff
83 lines
3.9 KiB
Diff
--- a/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java
|
|
+++ b/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java
|
|
@@ -24,6 +24,7 @@
|
|
private final Map<Advancement, GuiAdvancementTab> field_191947_i = Maps.newLinkedHashMap();
|
|
private GuiAdvancementTab field_191940_s;
|
|
private boolean field_191944_v;
|
|
+ private static int tabPage, maxPages;
|
|
|
|
public GuiScreenAdvancements(ClientAdvancementManager p_i47383_1_) {
|
|
this.field_191946_h = p_i47383_1_;
|
|
@@ -38,7 +39,23 @@
|
|
} else {
|
|
this.field_191946_h.func_194230_a(this.field_191940_s == null ? null : this.field_191940_s.func_193935_c(), true);
|
|
}
|
|
-
|
|
+ if (this.field_191947_i.size() > AdvancementTabType.MAX_TABS) {
|
|
+ int guiLeft = (this.field_146294_l - 252) / 2;
|
|
+ int guiTop = (this.field_146295_m - 140) / 2;
|
|
+ func_189646_b(new net.minecraft.client.gui.GuiButton(101, guiLeft, guiTop - 50, 20, 20, "<") {
|
|
+ @Override
|
|
+ public void func_194829_a(double mouseX, double mouseY) {
|
|
+ tabPage = Math.max(tabPage - 1, 0);
|
|
+ }
|
|
+ });
|
|
+ func_189646_b(new net.minecraft.client.gui.GuiButton(102, guiLeft + 252 - 20, guiTop - 50, 20, 20, ">") {
|
|
+ @Override
|
|
+ public void func_194829_a(double mouseX, double mouseY) {
|
|
+ tabPage = Math.min(tabPage + 1, maxPages);
|
|
+ }
|
|
+ });
|
|
+ maxPages = this.field_191947_i.size() / AdvancementTabType.MAX_TABS;
|
|
+ }
|
|
}
|
|
|
|
public void func_146281_b() {
|
|
@@ -56,7 +73,7 @@
|
|
int j = (this.field_146295_m - 140) / 2;
|
|
|
|
for(GuiAdvancementTab guiadvancementtab : this.field_191947_i.values()) {
|
|
- if (guiadvancementtab.func_195627_a(i, j, p_mouseClicked_1_, p_mouseClicked_3_)) {
|
|
+ if (guiadvancementtab.getPage() == tabPage && guiadvancementtab.func_195627_a(i, j, p_mouseClicked_1_, p_mouseClicked_3_)) {
|
|
this.field_191946_h.func_194230_a(guiadvancementtab.func_193935_c(), true);
|
|
break;
|
|
}
|
|
@@ -83,6 +100,12 @@
|
|
this.func_191936_c(p_73863_1_, p_73863_2_, i, j);
|
|
this.func_191934_b(i, j);
|
|
this.func_191937_d(p_73863_1_, p_73863_2_, i, j);
|
|
+ if (maxPages != 0) {
|
|
+ String page = String.format("%d / %d", tabPage + 1, maxPages + 1);
|
|
+ int width = this.field_146289_q.func_78256_a(page);
|
|
+ GlStateManager.func_179140_f();
|
|
+ this.field_146289_q.func_175063_a(page, i + (252 / 2) - (width / 2), j - 44, -1);
|
|
+ }
|
|
}
|
|
|
|
public boolean mouseDragged(double p_mouseDragged_1_, double p_mouseDragged_3_, int p_mouseDragged_5_, double p_mouseDragged_6_, double p_mouseDragged_8_) {
|
|
@@ -129,6 +152,7 @@
|
|
this.field_146297_k.func_110434_K().func_110577_a(field_191945_g);
|
|
|
|
for(GuiAdvancementTab guiadvancementtab : this.field_191947_i.values()) {
|
|
+ if (guiadvancementtab.getPage() == tabPage)
|
|
guiadvancementtab.func_191798_a(p_191934_1_, p_191934_2_, guiadvancementtab == this.field_191940_s);
|
|
}
|
|
|
|
@@ -137,6 +161,7 @@
|
|
RenderHelper.func_74520_c();
|
|
|
|
for(GuiAdvancementTab guiadvancementtab1 : this.field_191947_i.values()) {
|
|
+ if (guiadvancementtab1.getPage() == tabPage)
|
|
guiadvancementtab1.func_191796_a(p_191934_1_, p_191934_2_, this.field_146296_j);
|
|
}
|
|
|
|
@@ -159,7 +184,7 @@
|
|
|
|
if (this.field_191947_i.size() > 1) {
|
|
for(GuiAdvancementTab guiadvancementtab : this.field_191947_i.values()) {
|
|
- if (guiadvancementtab.func_195627_a(p_191937_3_, p_191937_4_, (double)p_191937_1_, (double)p_191937_2_)) {
|
|
+ if (guiadvancementtab.getPage() == tabPage && guiadvancementtab.func_195627_a(p_191937_3_, p_191937_4_, (double)p_191937_1_, (double)p_191937_2_)) {
|
|
this.func_146279_a(guiadvancementtab.func_191795_d(), p_191937_1_, p_191937_2_);
|
|
}
|
|
}
|