aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorWalker Selby <git@walkerselby.com>2023-01-01 10:41:51 -0800
committerGitHub <noreply@github.com>2023-01-01 19:41:51 +0100
commitadc3222fae3dc66c56ccede50c62ff741929be16 (patch)
tree8dff352e8b6cc925b8ecf54d834fa70eabab640e /src/main/java
parentf05b6fdfd1b699d84fb04018b707d1485052f718 (diff)
downloadNotEnoughUpdates-adc3222fae3dc66c56ccede50c62ff741929be16.tar.gz
NotEnoughUpdates-adc3222fae3dc66c56ccede50c62ff741929be16.tar.bz2
NotEnoughUpdates-adc3222fae3dc66c56ccede50c62ff741929be16.zip
Some PV Cleanup (#520)
* Remove Unused Import "org.luaj.vm2.ast.Str" Add final keyword in various places, creating slight performance increases * Refactoring, Error Prevention, and Duplicate Code Simplification Rename "stats" declared in line 1723 to "playerStats" to avoid hiding the "stats" field declared at line 648. Rename "passiveStats" declared in line 1723 to "passivePlayerStats" to avoid hiding the "passiveStats" field declared at line 649. Rename "networth" declared in line 939 to "playerNetworth" to avoid hiding the "networth" field declared at line 650. Rename "networth" declared in line 910 to "soopyNetworthData" to avoid hiding the "networth" field declared at line 650. soopyNetworthData Change if check to "isEmpty" rather than size() > 0 Add function getAuctionPriceHelper to increase readability and decrease duplicate code Replaced null with Empty Collections in some cases, to make caller logic simpler Remove commented code for Catacombs in skilltoSkillDesiplayMap Merge if statementes with their enclosing if statements, as they were unnecessarily nested. * Redefine petRarityToNumMap and skillToSkillDisplayMap as ImmutableMaps rather than HashMap and LinkedHashMap respectively due to their immutable nature. * Fix typo in SkyCrypt capilization Add final to some variables for improved performance.
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java205
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java630
2 files changed, 430 insertions, 405 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java
index 4bf65cc6..de5d384a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java
@@ -171,7 +171,10 @@ public class GuiProfileViewer extends GuiScreen {
);
public final GuiElementTextField playerNameTextField;
public final GuiElementTextField inventoryTextField = new GuiElementTextField("", GuiElementTextField.SCALE_TEXT);
- public final GuiElementTextField killDeathSearchTextField = new GuiElementTextField("", GuiElementTextField.SCALE_TEXT);
+ public final GuiElementTextField killDeathSearchTextField = new GuiElementTextField(
+ "",
+ GuiElementTextField.SCALE_TEXT
+ );
private final Map<ProfileViewerPage, GuiProfileViewerPage> pages = new HashMap<>();
public int sizeX;
public int sizeY;
@@ -189,7 +192,7 @@ public class GuiProfileViewer extends GuiScreen {
private double lastBgBlurFactor = -1;
private boolean showBingoPage;
- public GuiProfileViewer(ProfileViewer.Profile profile) {
+ public GuiProfileViewer(final ProfileViewer.Profile profile) {
GuiProfileViewer.profile = profile;
GuiProfileViewer.profileId = profile.getLatestProfile();
String name = "";
@@ -216,7 +219,7 @@ public class GuiProfileViewer extends GuiScreen {
pages.put(ProfileViewerPage.CRIMSON_ISLE, new CrimsonIslePage(this));
}
- private static float getMaxLevelXp(JsonArray levels, int offset, int maxLevel) {
+ private static float getMaxLevelXp(final JsonArray levels, final int offset, final int maxLevel) {
float xpTotal = 0;
for (int i = offset; i < offset + maxLevel - 1; i++) {
@@ -227,7 +230,7 @@ public class GuiProfileViewer extends GuiScreen {
}
@Deprecated
- public static String shortNumberFormat(double n, int iteration) {
+ public static String shortNumberFormat(final double n, final int iteration) {
return StringUtils.shortNumberFormat(n, iteration
);
}
@@ -249,7 +252,7 @@ public class GuiProfileViewer extends GuiScreen {
}
@Override
- public void drawScreen(int mouseX, int mouseY, float partialTicks) {
+ public void drawScreen(final int mouseX, final int mouseY, final float partialTicks) {
currentTime = System.currentTimeMillis();
if (startTime == 0) startTime = currentTime;
@@ -272,10 +275,10 @@ public class GuiProfileViewer extends GuiScreen {
}
}
- this.sizeX = 431;
- this.sizeY = 202;
- guiLeft = (this.width - this.sizeX) / 2;
- guiTop = (this.height - this.sizeY) / 2;
+ sizeX = 431;
+ sizeY = 202;
+ guiLeft = (width - sizeX) / 2;
+ guiTop = (height - sizeY) / 2;
JsonObject currProfileInfo = profile != null ? profile.getProfileInformation(profileId) : null;
if (NotEnoughUpdates.INSTANCE.config.profileViewer.alwaysShowBingoTab) {
@@ -317,7 +320,7 @@ public class GuiProfileViewer extends GuiScreen {
if (!(page == ProfileViewerPage.LOADING)) {
playerNameTextField.render(guiLeft + sizeX - 100, guiTop + sizeY + 5);
- ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft());
+ final ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft());
if (profile != null) {
//Render Profile chooser button
@@ -375,8 +378,10 @@ public class GuiProfileViewer extends GuiScreen {
Minecraft.getMinecraft().getTextureManager().bindTexture(pv_unknown);
Utils.drawTexturedRect(guiLeft - 16 - 5, guiTop + sizeY + 5, 16, 16, GL11.GL_NEAREST);
}
- //Render Open In Skycrypt button
- renderBlurredBackground(width, height, guiLeft + 100 + 6 + 2, guiTop + sizeY + 3 + 2, 100 - 4, 20 - 4);
+ //Render Open In SkyCrypt button
+ renderBlurredBackground(
+ width,
+ height, guiLeft + 100 + 6 + 2, guiTop + sizeY + 3 + 2, 100 - 4, 20 - 4);
Minecraft.getMinecraft().getTextureManager().bindTexture(pv_dropdown);
Utils.drawTexturedRect(
guiLeft + 100 + 6,
@@ -390,7 +395,7 @@ public class GuiProfileViewer extends GuiScreen {
GL11.GL_NEAREST
);
Utils.drawStringCenteredScaledMaxWidth(
- "Open in Skycrypt",
+ "Open in SkyCrypt",
Minecraft.getMinecraft().fontRendererObj,
guiLeft + 50 + 100 + 6,
guiTop + sizeY + 3 + 10,
@@ -399,12 +404,15 @@ public class GuiProfileViewer extends GuiScreen {
new Color(63, 224, 208, 255).getRGB()
);
- if (profileDropdownSelected && !profile.getProfileNames().isEmpty() && scaledResolution.getScaleFactor() < 4) {
- int dropdownOptionSize = scaledResolution.getScaleFactor() == 3 ? 10 : 20;
-
- int numProfiles = profile.getProfileNames().size();
- int sizeYDropdown = numProfiles * dropdownOptionSize;
- renderBlurredBackground(width, height, guiLeft + 2, guiTop + sizeY + 23, 100 - 4, sizeYDropdown - 2);
+ if (
+ profileDropdownSelected && !profile.getProfileNames().isEmpty() && scaledResolution.getScaleFactor() < 4) {
+ final int dropdownOptionSize = scaledResolution.getScaleFactor() == 3 ? 10 : 20;
+
+ final int numProfiles = profile.getProfileNames().size();
+ final int sizeYDropdown = numProfiles * dropdownOptionSize;
+ renderBlurredBackground(
+ width,
+ height, guiLeft + 2, guiTop + sizeY + 23, 100 - 4, sizeYDropdown - 2);
Minecraft.getMinecraft().getTextureManager().bindTexture(pv_dropdown);
Utils.drawTexturedRect(guiLeft, guiTop + sizeY + 23 - 3, 100, 3, 100 / 200f, 1, 0, 3 / 185f, GL11.GL_NEAREST);
Utils.drawTexturedRect(
@@ -431,7 +439,7 @@ public class GuiProfileViewer extends GuiScreen {
);
for (int yIndex = 0; yIndex < profile.getProfileNames().size(); yIndex++) {
- String otherProfileId = profile.getProfileNames().get(yIndex);
+ final String otherProfileId = profile.getProfileNames().get(yIndex);
Utils.drawStringCenteredScaledMaxWidth(
otherProfileId,
Minecraft.getMinecraft().fontRendererObj,
@@ -517,7 +525,7 @@ public class GuiProfileViewer extends GuiScreen {
switch (page) {
case LOADING:
String str = EnumChatFormatting.YELLOW + "Loading player profiles.";
- long currentTimeMod = System.currentTimeMillis() % 1000;
+ final long currentTimeMod = System.currentTimeMillis() % 1000;
if (currentTimeMod > 333) {
if (currentTimeMod < 666) {
str += ".";
@@ -537,7 +545,7 @@ public class GuiProfileViewer extends GuiScreen {
//This is just here to inform the player what to do
//like typing /api new or telling them to go find a psychotherapist
- long timeDiff = System.currentTimeMillis() - startTime;
+ final long timeDiff = System.currentTimeMillis() - startTime;
if (timeDiff > 20000) {
Utils.drawStringCentered(
@@ -575,11 +583,11 @@ public class GuiProfileViewer extends GuiScreen {
0
);
if (timeDiff > 360000) {
- long second = (timeDiff / 1000) % 60;
- long minute = (timeDiff / (1000 * 60)) % 60;
- long hour = (timeDiff / (1000 * 60 * 60)) % 24;
+ final long second = (timeDiff / 1000) % 60;
+ final long minute = (timeDiff / (1000 * 60)) % 60;
+ final long hour = (timeDiff / (1000 * 60 * 60)) % 24;
- String time = String.format("%02d:%02d:%02d", hour, minute, second);
+ final String time = String.format("%02d:%02d:%02d", hour, minute, second);
Utils.drawStringCentered(
EnumChatFormatting.YELLOW + "You've wasted your time here for: " + time,
Minecraft.getMinecraft().fontRendererObj,
@@ -693,17 +701,17 @@ public class GuiProfileViewer extends GuiScreen {
if (currentPage != ProfileViewerPage.LOADING && currentPage != ProfileViewerPage.INVALID_NAME) {
int ignoredTabs = 0;
- List<Integer> configList = NotEnoughUpdates.INSTANCE.config.profileViewer.pageLayout;
+ final List<Integer> configList = NotEnoughUpdates.INSTANCE.config.profileViewer.pageLayout;
for (int i = 0; i < configList.size(); i++) {
- ProfileViewerPage iPage = ProfileViewerPage.getById(configList.get(i));
+ final ProfileViewerPage iPage = ProfileViewerPage.getById(configList.get(i));
if (iPage == null) continue;
if (iPage.stack == null || (iPage == ProfileViewerPage.BINGO && !showBingoPage)) {
ignoredTabs++;
continue;
}
- int i2 = i - ignoredTabs;
- int x = guiLeft + i2 * 28;
- int y = guiTop - 28;
+ final int i2 = i - ignoredTabs;
+ final int x = guiLeft + i2 * 28;
+ final int y = guiTop - 28;
if (mouseX > x && mouseX < x + 28) {
if (mouseY > y && mouseY < y + 32) {
@@ -720,41 +728,42 @@ public class GuiProfileViewer extends GuiScreen {
}
if (tooltipToDisplay != null) {
- List<String> grayTooltip = new ArrayList<>(tooltipToDisplay.size());
- for (String line : tooltipToDisplay) {
+ final List<String> grayTooltip = new ArrayList<>(tooltipToDisplay.size());
+ for (final String line : tooltipToDisplay) {
grayTooltip.add(EnumChatFormatting.GRAY + line);
}
- Utils.drawHoveringText(grayTooltip, mouseX, mouseY, width, height, -1, Minecraft.getMinecraft().fontRendererObj);
+ Utils.drawHoveringText(grayTooltip, mouseX, mouseY,
+ width, height, -1, Minecraft.getMinecraft().fontRendererObj);
tooltipToDisplay = null;
}
}
- private void renderTabs(boolean renderPressed) {
+ private void renderTabs(final boolean renderPressed) {
int ignoredTabs = 0;
- List<Integer> configList = NotEnoughUpdates.INSTANCE.config.profileViewer.pageLayout;
+ final List<Integer> configList = NotEnoughUpdates.INSTANCE.config.profileViewer.pageLayout;
for (int i = 0; i < configList.size(); i++) {
- ProfileViewerPage page = ProfileViewerPage.getById(configList.get(i));
+ final ProfileViewerPage page = ProfileViewerPage.getById(configList.get(i));
if (page == null) continue;
if (page.stack == null || (page == ProfileViewerPage.BINGO && !showBingoPage)) {
ignoredTabs++;
continue;
}
- boolean pressed = page == currentPage;
+ final boolean pressed = page == currentPage;
if (pressed == renderPressed) {
renderTab(page.stack, i - ignoredTabs, pressed);
}
}
}
- private void renderTab(ItemStack stack, int xIndex, boolean pressed) {
+ private void renderTab(final ItemStack stack, final int xIndex, final boolean pressed) {
GlStateManager.disableLighting();
GlStateManager.enableBlend();
GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA);
GlStateManager.enableAlpha();
GlStateManager.alphaFunc(516, 0.1F);
- int x = guiLeft + xIndex * 28;
- int y = guiTop - 28;
+ final int x = guiLeft + xIndex * 28;
+ final int y = guiTop - 28;
float uMin = 0;
float uMax = 28 / 256f;
@@ -788,20 +797,20 @@ public class GuiProfileViewer extends GuiScreen {
}
@Override
- protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
+ protected void mouseClicked(final int mouseX, final int mouseY, final int mouseButton) throws IOException {
if (currentPage != ProfileViewerPage.LOADING && currentPage != ProfileViewerPage.INVALID_NAME) {
int ignoredTabs = 0;
- List<Integer> configList = NotEnoughUpdates.INSTANCE.config.profileViewer.pageLayout;
+ final List<Integer> configList = NotEnoughUpdates.INSTANCE.config.profileViewer.pageLayout;
for (int i = 0; i < configList.size(); i++) {
- ProfileViewerPage page = ProfileViewerPage.getById(configList.get(i));
+ final ProfileViewerPage page = ProfileViewerPage.getById(configList.get(i));
if (page == null) continue;
if (page.stack == null || (page == ProfileViewerPage.BINGO && !showBingoPage)) {
ignoredTabs++;
continue;
}
- int i2 = i - ignoredTabs;
- int x = guiLeft + i2 * 28;
- int y = guiTop - 28;
+ final int i2 = i - ignoredTabs;
+ final int x = guiLeft + i2 * 28;
+ final int y = guiTop - 28;
if (mouseX > x && mouseX < x + 28) {
if (mouseY > y && mouseY < y + 32) {
@@ -838,8 +847,9 @@ public class GuiProfileViewer extends GuiScreen {
profileId != null
) {
if (mouseY > guiTop + sizeY + 3 && mouseY < guiTop + sizeY + 23) {
- String url = "https://sky.shiiyu.moe/stats/" + profile.getHypixelProfile().get("displayname").getAsString() + "/" +
- profileId;
+ final String url =
+ "https://sky.shiiyu.moe/stats/" + profile.getHypixelProfile().get("displayname").getAsString() + "/" +
+ profileId;
Utils.openUrl(url);
Utils.playPressSound();
return;
@@ -847,7 +857,7 @@ public class GuiProfileViewer extends GuiScreen {
}
if (mouseX > guiLeft && mouseX < guiLeft + 100 && profile != null && !profile.getProfileNames().isEmpty()) {
- ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft());
+ final ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft());
if (mouseY > guiTop + sizeY + 3 && mouseY < guiTop + sizeY + 23) {
if (scaledResolution.getScaleFactor() >= 4) {
profileDropdownSelected = false;
@@ -866,7 +876,7 @@ public class GuiProfileViewer extends GuiScreen {
if (profileNum >= profile.getProfileNames().size()) profileNum = 0;
if (profileNum < 0) profileNum = profile.getProfileNames().size() - 1;
- String newProfileId = profile.getProfileNames().get(profileNum);
+ final String newProfileId = profile.getProfileNames().get(profileNum);
if (profileId != null && !profileId.equals(newProfileId)) {
resetCache();
}
@@ -875,11 +885,11 @@ public class GuiProfileViewer extends GuiScreen {
profileDropdownSelected = !profileDropdownSelected;
}
} else if (scaledResolution.getScaleFactor() < 4 && profileDropdownSelected) {
- int dropdownOptionSize = scaledResolution.getScaleFactor() == 3 ? 10 : 20;
- int extraY = mouseY - (guiTop + sizeY + 23);
- int index = extraY / dropdownOptionSize;
+ final int dropdownOptionSize = scaledResolution.getScaleFactor() == 3 ? 10 : 20;
+ final int extraY = mouseY - (guiTop + sizeY + 23);
+ final int index = extraY / dropdownOptionSize;
if (index >= 0 && index < profile.getProfileNames().size()) {
- String newProfileId = profile.getProfileNames().get(index);
+ final String newProfileId = profile.getProfileNames().get(index);
if (profileId != null && !profileId.equals(newProfileId)) {
resetCache();
}
@@ -898,7 +908,7 @@ public class GuiProfileViewer extends GuiScreen {
}
@Override
- protected void keyTyped(char typedChar, int keyCode) throws IOException {
+ protected void keyTyped(final char typedChar, final int keyCode) throws IOException {
super.keyTyped(typedChar, keyCode);
if (pages.containsKey(currentPage)) {
@@ -921,7 +931,7 @@ public class GuiProfileViewer extends GuiScreen {
}
@Override
- protected void mouseReleased(int mouseX, int mouseY, int mouseButton) {
+ protected void mouseReleased(final int mouseX, final int mouseY, final int mouseButton) {
super.mouseReleased(mouseX, mouseY, mouseButton);
if (pages.containsKey(currentPage)) {
@@ -930,17 +940,17 @@ public class GuiProfileViewer extends GuiScreen {
}
public void renderXpBar(
- String skillName,
- ItemStack stack,
- int x,
- int y,
- int xSize,
- ProfileViewer.Level levelObj,
- int mouseX,
- int mouseY
+ final String skillName,
+ final ItemStack stack,
+ final int x,
+ final int y,
+ final int xSize,
+ final ProfileViewer.Level levelObj,
+ final int mouseX,
+ final int mouseY
) {
- float level = levelObj.level;
- int levelFloored = (int) Math.floor(level);
+ final float level = levelObj.level;
+ final int levelFloored = (int) Math.floor(level);
Utils.renderAlignedString(skillName, EnumChatFormatting.WHITE.toString() + levelFloored, x + 14, y - 4, xSize - 20);
@@ -956,24 +966,27 @@ public class GuiProfileViewer extends GuiScreen {
if (mouseX > x && mouseX < x + 120) {
if (mouseY > y - 4 && mouseY < y + 13) {
- String levelStr;
+ final String levelStr;
String totalXpStr = null;
if (skillName.contains("Catacombs")) {
totalXpStr = EnumChatFormatting.GRAY + "Total XP: " + EnumChatFormatting.DARK_PURPLE +
- numberFormat.format(levelObj.totalXp) + EnumChatFormatting.DARK_GRAY + " (" +
+ numberFormat.format(levelObj.totalXp) + EnumChatFormatting.DARK_GRAY + " (" +
DECIMAL_FORMAT.format(getPercentage(skillName.toLowerCase(), levelObj)) + "% to 50)";
}
- // Adds overflow level to each level object that is maxed, avoids hotm level as there is no overflow xp for it
+ // Adds overflow level to each level object that is maxed, avoids hotm level as there is no overflow xp for it
if (levelObj.maxed) {
levelStr = levelObj.maxLevel != 7 ?
- EnumChatFormatting.GOLD + "MAXED!" + EnumChatFormatting.GRAY + " (Overflow level: " + String.format("%.2f", levelObj.level) + ")" :
- EnumChatFormatting.GOLD + "MAXED!";
+ EnumChatFormatting.GOLD + "MAXED!" + EnumChatFormatting.GRAY + " (Overflow level: " + String.format(
+ "%.2f",
+ levelObj.level
+ ) + ")" :
+ EnumChatFormatting.GOLD + "MAXED!";
} else {
if (skillName.contains("Class Average")) {
levelStr = "Progress: " + EnumChatFormatting.DARK_PURPLE + String.format("%.1f", (level % 1 * 100)) + "%";
totalXpStr = "Exact Class Average: " + EnumChatFormatting.WHITE + String.format("%.2f", levelObj.level);
} else {
- int maxXp = (int) levelObj.maxXpForLevel;
+ final int maxXp = (int) levelObj.maxXpForLevel;
levelStr =
EnumChatFormatting.DARK_PURPLE +
StringUtils.shortNumberFormat(Math.round((level % 1) * maxXp)) +
@@ -993,8 +1006,8 @@ public class GuiProfileViewer extends GuiScreen {
}
}
- NBTTagCompound nbt = new NBTTagCompound(); //Adding NBT Data for Custom Resource Packs
- NBTTagCompound display = new NBTTagCompound();
+ final NBTTagCompound nbt = new NBTTagCompound(); //Adding NBT Data for Custom Resource Packs
+ final NBTTagCompound display = new NBTTagCompound();
display.setString("Name", skillName);
nbt.setTag("display", display);
stack.setTagCompound(nbt);
@@ -1010,14 +1023,14 @@ public class GuiProfileViewer extends GuiScreen {
return ((BasicPage) pages.get(ProfileViewerPage.BASIC)).entityPlayer;
}
- public void renderGoldBar(float x, float y, float xSize) {
+ public void renderGoldBar(final float x, final float y, final float xSize) {
if (!OpenGlHelper.areShadersSupported()) {
renderBar(x, y, xSize, 1);
return;
}
Minecraft.getMinecraft().getTextureManager().bindTexture(icons);
- ShaderManager shaderManager = ShaderManager.getInstance();
+ final ShaderManager shaderManager = ShaderManager.getInstance();
shaderManager.loadShader("make_gold");
shaderManager.loadData("make_gold", "amount", (startTime - System.currentTimeMillis()) / 10000f);
@@ -1037,11 +1050,11 @@ public class GuiProfileViewer extends GuiScreen {
GL20.glUseProgram(0);
}
- public void renderBar(float x, float y, float xSize, float completed) {
+ public void renderBar(final float x, final float y, final float xSize, float completed) {
Minecraft.getMinecraft().getTextureManager().bindTexture(icons);
completed = Math.round(completed / 0.05f) * 0.05f;
- float notCompleted = 1 - completed;
+ final float notCompleted = 1 - completed;
GlStateManager.color(1, 1, 1, 1);
float width;
@@ -1105,8 +1118,8 @@ public class GuiProfileViewer extends GuiScreen {
* This is so that we can render to and from the framebuffer in a way that is familiar to us, instead of needing to
* apply scales and translations manually.
*/
- private Matrix4f createProjectionMatrix(int width, int height) {
- Matrix4f projMatrix = new Matrix4f();
+ private Matrix4f createProjectionMatrix(final int width, final int height) {
+ final Matrix4f projMatrix = new Matrix4f();
projMatrix.setIdentity();
projMatrix.m00 = 2.0F / (float) width;
projMatrix.m11 = 2.0F / (float) (-height);
@@ -1121,8 +1134,8 @@ public class GuiProfileViewer extends GuiScreen {
private void blurBackground() {
if (!OpenGlHelper.isFramebufferEnabled()) return;
- int width = Minecraft.getMinecraft().displayWidth;
- int height = Minecraft.getMinecraft().displayHeight;
+ final int width = Minecraft.getMinecraft().displayWidth;
+ final int height = Minecraft.getMinecraft().displayHeight;
if (blurOutputHorz == null) {
blurOutputHorz = new Framebuffer(width, height, false);
@@ -1154,7 +1167,7 @@ public class GuiProfileViewer extends GuiScreen {
);
blurShaderHorz.getShaderManager().getShaderUniform("BlurDir").set(1, 0);
blurShaderHorz.setProjectionMatrix(createProjectionMatrix(width, height));
- } catch (Exception ignored) {
+ } catch (final Exception ignored) {
}
}
if (blurShaderVert == null) {
@@ -1167,7 +1180,7 @@ public class GuiProfileViewer extends GuiScreen {
);
blurShaderVert.getShaderManager().getShaderUniform("BlurDir").set(0, 1);
blurShaderVert.setProjectionMatrix(createProjectionMatrix(width, height));
- } catch (Exception ignored) {
+ } catch (final Exception ignored) {
}
}
if (blurShaderHorz != null && blurShaderVert != null) {
@@ -1186,7 +1199,7 @@ public class GuiProfileViewer extends GuiScreen {
}
}
- public float getPercentage(String skillName, ProfileViewer.Level level) {
+ public float getPercentage(final String skillName, final ProfileViewer.Level level) {
if (level.maxed) {
return 100;
}
@@ -1209,13 +1222,13 @@ public class GuiProfileViewer extends GuiScreen {
* Renders a subsection of the blurred framebuffer on to the corresponding section of the screen.
* Essentially, this method will "blur" the background inside the bounds specified by [x->x+blurWidth, y->y+blurHeight]
*/
- public void renderBlurredBackground(int width, int height, int x, int y, int blurWidth, int blurHeight) {
+ public void renderBlurredBackground(final int width, final int height, final int x, final int y, final int blurWidth, final int blurHeight) {
if (!OpenGlHelper.isFramebufferEnabled()) return;
- float uMin = x / (float) width;
- float uMax = (x + blurWidth) / (float) width;
- float vMin = (height - y) / (float) height;
- float vMax = (height - y - blurHeight) / (float) height;
+ final float uMin = x / (float) width;
+ final float uMax = (x + blurWidth) / (float) width;
+ final float vMin = (height - y) / (float) height;
+ final float vMax = (height - y - blurHeight) / (float) height;
blurOutputVert.bindFramebufferTexture();
GlStateManager.color(1f, 1f, 1f, 1f);
@@ -1248,22 +1261,22 @@ public class GuiProfileViewer extends GuiScreen {
this(-1, null, null);
}
- ProfileViewerPage(int id, Item item, String name) {
+ ProfileViewerPage(final int id, final Item item, final String name) {
this.id = id;
if (item == null) {
stack = null;
} else {
stack = new ItemStack(item);
- NBTTagCompound nbt = new NBTTagCompound(); //Adding NBT Data for Custom Resource Packs
- NBTTagCompound display = new NBTTagCompound();
+ final NBTTagCompound nbt = new NBTTagCompound(); //Adding NBT Data for Custom Resource Packs
+ final NBTTagCompound display = new NBTTagCompound();
display.setString("Name", name);
nbt.setTag("display", display);
stack.setTagCompound(nbt);
}
}
- public static ProfileViewerPage getById(int id) {
- for (ProfileViewerPage page : values()) {
+ public static ProfileViewerPage getById(final int id) {
+ for (final ProfileViewerPage page : values()) {
if (page.id == id) {
return page;
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java
index 5337a99c..8aef917c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java
@@ -19,6 +19,7 @@
package io.github.moulberry.notenoughupdates.profileviewer;
+import com.google.common.collect.ImmutableMap;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
@@ -36,7 +37,6 @@ import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.EnumChatFormatting;
-import org.luaj.vm2.ast.Str;
import javax.annotation.Nullable;
import java.io.ByteArrayInputStream;
@@ -57,47 +57,56 @@ import java.util.regex.Pattern;
public class ProfileViewer {
- private static final HashMap<String, String> petRarityToNumMap = new HashMap<String, String>() {
- {
- put("COMMON", "0");
- put("UNCOMMON", "1");
- put("RARE", "2");
- put("EPIC", "3");
- put("LEGENDARY", "4");
- put("MYTHIC", "5");
- }
- };
- private static final LinkedHashMap<String, ItemStack> skillToSkillDisplayMap =
- new LinkedHashMap<String, ItemStack>() {
- {
- put("taming", Utils.createItemStack(Items.spawn_egg, EnumChatFormatting.LIGHT_PURPLE + "Taming"));
- put("mining", Utils.createItemStack(Items.stone_pickaxe, EnumChatFormatting.GRAY + "Mining"));
- put(
- "foraging",
- Utils.createItemStack(Item.getItemFromBlock(Blocks.sapling), EnumChatFormatting.DARK_GREEN + "Foraging")
- );
- put(
- "enchanting",
- Utils.createItemStack(Item.getItemFromBlock(Blocks.enchanting_table), EnumChatFormatting.GREEN + "Enchanting")
- );
- put(
- "carpentry",
- Utils.createItemStack(Item.getItemFromBlock(Blocks.crafting_table), EnumChatFormatting.DARK_RED + "Carpentry")
- );
- put("farming", Utils.createItemStack(Items.golden_hoe, EnumChatFormatting.YELLOW + "Farming"));
- put("combat", Utils.createItemStack(Items.stone_sword, EnumChatFormatting.RED + "Combat"));
- put("fishing", Utils.createItemStack(Items.fishing_rod, EnumChatFormatting.AQUA + "Fishing"));
- put("alchemy", Utils.createItemStack(Items.brewing_stand, EnumChatFormatting.BLUE + "Alchemy"));
- put("runecrafting", Utils.createItemStack(Items.magma_cream, EnumChatFormatting.DARK_PURPLE + "Runecrafting"));
- put("social", Utils.createItemStack(Items.emerald, EnumChatFormatting.DARK_GREEN + "Social"));
- // put("catacombs", Utils.createItemStack(Item.getItemFromBlock(Blocks.deadbush), EnumChatFormatting.GOLD+"Catacombs"));
- put("zombie", Utils.createItemStack(Items.rotten_flesh, EnumChatFormatting.GOLD + "Rev Slayer"));
- put("spider", Utils.createItemStack(Items.spider_eye, EnumChatFormatting.GOLD + "Tara Slayer"));
- put("wolf", Utils.createItemStack(Items.bone, EnumChatFormatting.GOLD + "Sven Slayer"));
- put("enderman", Utils.createItemStack(Items.ender_pearl, EnumChatFormatting.GOLD + "Ender Slayer"));
- put("blaze", Utils.createItemStack(Items.blaze_rod, EnumChatFormatting.GOLD + "Blaze Slayer"));
- }
- };
+ private static final ImmutableMap<String, String> petRarityToNumMap =
+ ImmutableMap.<String, String>builder()
+ .put("COMMON", "0")
+ .put("UNCOMMON", "1")
+ .put("RARE", "2")
+ .put("EPIC", "3")
+ .put("LEGENDARY", "4")
+ .put("MYTHIC", "5")
+ .build();
+
+ private static final ImmutableMap<String, ItemStack> skillToSkillDisplayMap =
+ ImmutableMap.<String, ItemStack>builder()
+ .put("taming", Utils.createItemStack(Items.spawn_egg, EnumChatFormatting.LIGHT_PURPLE + "Taming"))
+ .put("mining", Utils.createItemStack(Items.stone_pickaxe, EnumChatFormatting.GRAY + "Mining"))
+ .put(
+ "foraging",
+ Utils.createItemStack(
+ Item.getItemFromBlock(Blocks.sapling),
+ EnumChatFormatting.DARK_GREEN + "Foraging"
+ )
+ )
+ .put(
+ "enchanting",
+ Utils.createItemStack(
+ Item.getItemFromBlock(Blocks.enchanting_table),
+ EnumChatFormatting.GREEN + "Enchanting"
+ )
+ )
+ .put(
+ "carpentry",
+ Utils.createItemStack(
+ Item.getItemFromBlock(Blocks.crafting_table),
+ EnumChatFormatting.DARK_RED + "Carpentry"
+ )
+ )
+ .put("farming", Utils.createItemStack(Items.golden_hoe, EnumChatFormatting.YELLOW + "Farming"))
+ .put("combat", Utils.createItemStack(Items.stone_sword, EnumChatFormatting.RED + "Combat"))
+ .put("fishing", Utils.createItemStack(Items.fishing_rod, EnumChatFormatting.AQUA + "Fishing"))
+ .put("alchemy", Utils.createItemStack(Items.brewing_stand, EnumChatFormatting.BLUE + "Alchemy"))
+ .put(
+ "runecrafting",
+ Utils.createItemStack(Items.magma_cream, EnumChatFormatting.DARK_PURPLE + "Runecrafting")
+ )
+ .put("social", Utils.createItemStack(Items.emerald, EnumChatFormatting.DARK_GREEN + "Social"))
+ .put("zombie", Utils.createItemStack(Items.rotten_flesh, EnumChatFormatting.GOLD + "Rev Slayer"))
+ .put("spider", Utils.createItemStack(Items.spider_eye, EnumChatFormatting.GOLD + "Tara Slayer"))
+ .put("wolf", Utils.createItemStack(Items.bone, EnumChatFormatting.GOLD + "Sven Slayer"))
+ .put("enderman", Utils.createItemStack(Items.ender_pearl, EnumChatFormatting.GOLD + "Ender Slayer"))
+ .put("blaze", Utils.createItemStack(Items.blaze_rod, EnumChatFormatting.GOLD + "Blaze Slayer"))
+ .build();
private static final ItemStack CAT_FARMING = Utils.createItemStack(
Items.golden_hoe,
EnumChatFormatting.YELLOW + "Farming"
@@ -452,7 +461,7 @@ public class ProfileViewer {
private final HashMap<String, Profile> uuidToProfileMap = new HashMap<>();
private final HashMap<String, String> nameToUuid = new HashMap<>();
- public ProfileViewer(NEUManager manager) {
+ public ProfileViewer(final NEUManager manager) {
this.manager = manager;
}
@@ -469,20 +478,20 @@ public class ProfileViewer {
}
public static Map<String, ItemStack> getSkillToSkillDisplayMap() {
- return Collections.unmodifiableMap(skillToSkillDisplayMap);
+ return skillToSkillDisplayMap;
}
- public static Level getLevel(JsonArray levelingArray, float xp, int levelCap, boolean cumulative) {
- Level levelObj = new Level();
+ public static Level getLevel(final JsonArray levelingArray, float xp, final int levelCap, final boolean cumulative) {
+ final Level levelObj = new Level();
levelObj.totalXp = xp;
levelObj.maxLevel = levelCap;
for (int level = 0; level < levelingArray.size(); level++) {
- float levelXp = levelingArray.get(level).getAsFloat();
+ final float levelXp = levelingArray.get(level).getAsFloat();
if (levelXp > xp) {
if (cumulative) {
- float previous = level > 0 ? levelingArray.get(level - 1).getAsFloat() : 0;
+ final float previous = level > 0 ? levelingArray.get(level - 1).getAsFloat() : 0;
levelObj.maxXpForLevel = (levelXp - previous);
levelObj.level = 1 + level + (xp - levelXp) / levelObj.maxXpForLevel;
} else {
@@ -526,8 +535,8 @@ public class ProfileViewer {
return null;
}
- public void getHypixelProfile(String name, Consumer<JsonObject> callback) {
- String nameF = name.toLowerCase();
+ public void getHypixelProfile(final String name, final Consumer<JsonObject> callback) {
+ final String nameF = name.toLowerCase();
manager.apiUtils
.newHypixelApiRequest("player")
.queryArgument("name", nameF)
@@ -552,12 +561,12 @@ public class ProfileViewer {
);
}
- public void putNameUuid(String name, String uuid) {
+ public void putNameUuid(final String name, final String uuid) {
nameToUuid.put(name, uuid);
}
- public void getPlayerUUID(String name, Consumer<String> uuidCallback) {
- String nameF = name.toLowerCase();
+ public void getPlayerUUID(final String name, final Consumer<String> uuidCallback) {
+ final String nameF = name.toLowerCase();
if (nameToUuid.containsKey(nameF)) {
uuidCallback.accept(nameToUuid.get(nameF));
return;
@@ -570,7 +579,7 @@ public class ProfileViewer {
.thenAccept(jsonObject -> {
if (jsonObject.has("id") && jsonObject.get("id").isJsonPrimitive() &&
((JsonPrimitive) jsonObject.get("id")).isString()) {
- String uuid = jsonObject.get("id").getAsString();
+ final String uuid = jsonObject.get("id").getAsString();
nameToUuid.put(nameF, uuid);
uuidCallback.accept(uuid);
return;
@@ -579,8 +588,8 @@ public class ProfileViewer {
});
}
- public void getProfileByName(String name, Consumer<Profile> callback) {
- String nameF = name.toLowerCase();
+ public void getProfileByName(final String name, final Consumer<Profile> callback) {
+ final String nameF = name.toLowerCase();
if (nameToUuid.containsKey(nameF) && nameToUuid.get(nameF) == null) {
callback.accept(null);
@@ -612,8 +621,8 @@ public class ProfileViewer {
);
}
- public Profile getProfile(String uuid, Consumer<Profile> callback) {
- Profile profile = uuidToProfileMap.computeIfAbsent(uuid, k -> new Profile(uuid));
+ public Profile getProfile(final String uuid, final Consumer<Profile> callback) {
+ final Profile profile = uuidToProfileMap.computeIfAbsent(uuid, k -> new Profile(uuid));
if (profile.skyblockProfiles != null) {
callback.accept(profile);
} else {
@@ -622,7 +631,7 @@ public class ProfileViewer {
return profile;
}
- public Profile getProfileReset(String uuid, Consumer<Profile> callback) {
+ public Profile getProfileR