aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorCalMWolfs <94038482+CalMWolfs@users.noreply.github.com>2024-05-11 22:44:59 +1000
committerGitHub <noreply@github.com>2024-05-11 14:44:59 +0200
commit07d02cc3baf41689538ec0207a660f1aa95444e1 (patch)
treebaa7230438ad12f80b10f8282b23d2d3450088ad /src/main/java
parent4776b0d16e58ec81e3e38dd1208a78f2d2a65106 (diff)
downloadNotEnoughUpdates-07d02cc3baf41689538ec0207a660f1aa95444e1.tar.gz
NotEnoughUpdates-07d02cc3baf41689538ec0207a660f1aa95444e1.tar.bz2
NotEnoughUpdates-07d02cc3baf41689538ec0207a660f1aa95444e1.zip
Add chocolate factory stats page to pv (#1157)
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ExtraPage.java78
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/SkyblockProfiles.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/data/APIDataJson.java33
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java2
4 files changed, 114 insertions, 1 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ExtraPage.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ExtraPage.java
index 03b24a42..fd6f701a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ExtraPage.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ExtraPage.java
@@ -26,6 +26,7 @@ import com.google.gson.JsonPrimitive;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
import io.github.moulberry.notenoughupdates.core.util.StringUtils;
import io.github.moulberry.notenoughupdates.core.util.render.RenderUtils;
+import io.github.moulberry.notenoughupdates.miscfeatures.profileviewer.HoppityPage;
import io.github.moulberry.notenoughupdates.profileviewer.data.APIDataJson;
import io.github.moulberry.notenoughupdates.profileviewer.weight.weight.Weight;
import io.github.moulberry.notenoughupdates.util.Constants;
@@ -33,6 +34,9 @@ import io.github.moulberry.notenoughupdates.util.Rectangle;
import io.github.moulberry.notenoughupdates.util.Utils;
import lombok.var;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import org.apache.commons.lang3.text.WordUtils;
@@ -43,6 +47,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -69,8 +74,40 @@ public class ExtraPage extends GuiProfileViewerPage {
private int killScroll = 0;
private boolean clickedLoadGuildInfoButton = false;
+ private boolean onHoppityPage;
+ private final HoppityPage hoppityPage;
+
+ public static final ItemStack hoppitySkull = Utils.createSkull(
+ "calmwolfs",
+ "d7ac85e6-bd40-359e-a2c5-86082959309e",
+ "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvO" +
+ "WE4MTUzOThlN2RhODliMWJjMDhmNjQ2Y2FmYzhlN2I4MTNkYTBiZTBlZWMwY2NlNmQzZWZmNTIwNzgwMTAyNiJ9fX0="
+ );
+
+ private static final LinkedHashMap<String, ItemStack> pageModeIcon = new LinkedHashMap<String, ItemStack>() {
+ {
+ put(
+ "stats",
+ Utils.editItemStackInfo(
+ new ItemStack(Items.book),
+ EnumChatFormatting.GRAY + "Stats",
+ true
+ )
+ );
+ put(
+ "hoppity",
+ Utils.editItemStackInfo(
+ hoppitySkull,
+ EnumChatFormatting.GRAY + "Hoppity",
+ true
+ )
+ );
+ }
+ };
+
public ExtraPage(GuiProfileViewer instance) {
super(instance);
+ this.hoppityPage = new HoppityPage(instance);
getInstance().killDeathSearchTextField.setSize(80, 12);
}
@@ -86,6 +123,8 @@ public class ExtraPage extends GuiProfileViewerPage {
@Override
public boolean mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
+ int guiLeft = GuiProfileViewer.getGuiLeft();
+ int guiTop = GuiProfileViewer.getGuiTop();
super.mouseClicked(mouseX, mouseY, mouseButton);
// Dimensions: X: guiLeft + xStart + xOffset * 3, Y: guiTop + yStartBottom + 77, Width: 80, Height: 12
@@ -99,6 +138,19 @@ public class ExtraPage extends GuiProfileViewerPage {
getInstance().killDeathSearchTextField.otherComponentClick();
+ int i = ProfileViewerUtils.onSlotToChangePage(mouseX, mouseY, guiLeft, guiTop);
+ switch (i) {
+ case 1:
+ onHoppityPage = false;
+ break;
+ case 2:
+ onHoppityPage = true;
+ break;
+
+ default:
+ break;
+ }
+
return false;
}
@@ -172,6 +224,13 @@ public class ExtraPage extends GuiProfileViewerPage {
int guiLeft = GuiProfileViewer.getGuiLeft();
int guiTop = GuiProfileViewer.getGuiTop();
+ drawSideButtons();
+
+ if (onHoppityPage) {
+ hoppityPage.drawPage(mouseX, mouseY, partialTicks);
+ return;
+ }
+
Minecraft.getMinecraft().getTextureManager().bindTexture(pv_extra);
Utils.drawTexturedRect(guiLeft, guiTop, getInstance().sizeX, getInstance().sizeY, GL11.GL_NEAREST);
@@ -592,4 +651,23 @@ public class ExtraPage extends GuiProfileViewerPage {
topDeaths = null;
topKills = null;
}
+
+ private void drawSideButtons() {
+ GlStateManager.enableDepth();
+ GlStateManager.translate(0, 0, 5);
+ if (onHoppityPage) {
+ Utils.drawPvSideButton(1, pageModeIcon.get("hoppity"), true, getInstance());
+ } else {
+ Utils.drawPvSideButton(0, pageModeIcon.get("stats"), true, getInstance());
+ }
+ GlStateManager.translate(0, 0, -3);
+
+ GlStateManager.translate(0, 0, -2);
+ if (!onHoppityPage) {
+ Utils.drawPvSideButton(1, pageModeIcon.get("hoppity"), false, getInstance());
+ } else {
+ Utils.drawPvSideButton(0, pageModeIcon.get("stats"), false, getInstance());
+ }
+ GlStateManager.disableDepth();
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/SkyblockProfiles.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/SkyblockProfiles.java
index ebc35a39..ffac9ca0 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/SkyblockProfiles.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/SkyblockProfiles.java
@@ -518,7 +518,7 @@ public class SkyblockProfiles {
private SoopyNetworth soopyNetworth = null;
private MuseumData museumData = null;
@Getter
- private @Nullable APIDataJson APIDataJson;
+ public @Nullable APIDataJson APIDataJson;
private final AtomicBoolean updatingMuseumData = new AtomicBoolean(false);
public class MuseumData {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/data/APIDataJson.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/data/APIDataJson.java
index 9714f0da..fb21c4a4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/data/APIDataJson.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/data/APIDataJson.java
@@ -246,4 +246,37 @@ public class APIDataJson {
public int farming_level_cap = 0;
}
}
+
+ public @Nullable Events events;
+
+ public static class Events {
+ public @Nullable EasterEventData easter;
+
+ public static class EasterEventData {
+ public @Nullable JsonObject rabbits;
+ public @Nullable EmployeeData employees;
+ public @Nullable TimeTowerData time_tower;
+
+ public long chocolate = 0;
+ public long chocolate_since_prestige = 0;
+ public long total_chocolate = 0;
+ public int click_upgrades = 1;
+ public int chocolate_level = 1;
+ public int chocolate_multiplier_upgrades = 0;
+ public int rabbit_barn_capacity_level = 1;
+ public int rabbit_rarity_upgrades = 0;
+
+ public static class EmployeeData {
+ public int rabbit_bro = 0;
+ public int rabbit_cousin = 0;
+ public int rabbit_sis = 0;
+ public int rabbit_father = 0;
+ public int rabbit_grandma = 0;
+ }
+
+ public static class TimeTowerData {
+ public int level = 0;
+ }
+ }
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java
index 59084548..a9cfb09b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java
@@ -85,6 +85,7 @@ public class Constants {
public static JsonObject MUSEUM;
public static JsonObject BESTIARY;
public static JsonObject SACKS;
+ public static JsonObject HOPPITY;
private static final ReentrantLock lock = new ReentrantLock();
@@ -113,6 +114,7 @@ public class Constants {
MUSEUM = Utils.getConstant("museum", gson);
BESTIARY = Utils.getConstant("bestiary", gson);
SACKS = Utils.getConstant("sacks", gson);
+ HOPPITY = Utils.getConstant("hoppity", gson);
parseEssenceCosts();
} catch (Exception ex) {