aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Update Notes/2.0-Pre30.md28
-rw-r--r--Update Notes/2.0-Pre31.md44
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java7
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java97
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java45
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java7
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java14
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java61
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java11
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomItemEffects.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/CustomSkulls.java3
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FairySouls.java4
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java3
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java3
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java9
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java11
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java40
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java27
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java113
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java39
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/SBInfo.java9
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java32
-rw-r--r--src/main/resources/assets/notenoughupdates/invbuttons/expanded_inventory.pngbin2494 -> 0 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/pv_ironman.pngbin0 -> 235 bytes
25 files changed, 496 insertions, 115 deletions
diff --git a/Update Notes/2.0-Pre30.md b/Update Notes/2.0-Pre30.md
new file mode 100644
index 00000000..e036627b
--- /dev/null
+++ b/Update Notes/2.0-Pre30.md
@@ -0,0 +1,28 @@
+# These are the change notes for PRE30
+
+### **New Features:**
+
+- More options for the Todo list
+- Added the voidgloom slayer stats to the /pv
+- Added Dungeon accesories to the accesory bag upgrade view
+- Added Dungeon items to the itemlist categories (for example armors now include dungeon armors and weapons include dungeon weapons)
+- Added check to see if titanium that spawned atleast touches 1 air block (toggleable)
+- Added check so titanium alert doesnt happen if titanium commision is set to "DONE"
+- Added Storage to PV (with correct sizes)
+- Added Personal Vault to PV
+- Added scroll lock to storage overlay
+### **Fixed Features:**
+
+- Todo list
+ - Fixed fetchur display
+ - Fixed godpot timer
+- PV's wardrobe view not showing second page bottom row (not fully fixed could be better by dividing on every 4 and drawing per column instead of row but right now its always a full page)
+- Made dwarven overlay work in crystal hollows (nopo)
+- Added Gemstone powder to dwarven overlay (nopo)
+- Made smooth aote work with aotv (thanks to 8k for letting me test his aotv) (nopo)
+
+### **Bug Fixes**
+
+- Arrow Key backpack option under storage gui not doing anything
+- Fixed pets gui going away if you open /pets (nopo)
+- Fixed PV cit models dieing (nopo) \ No newline at end of file
diff --git a/Update Notes/2.0-Pre31.md b/Update Notes/2.0-Pre31.md
new file mode 100644
index 00000000..2dd2f1c0
--- /dev/null
+++ b/Update Notes/2.0-Pre31.md
@@ -0,0 +1,44 @@
+# These are the change notes for PRE31
+
+### **Major new features**
+
+- None yet
+
+### **New Features:**
+- Added Ferocity, Magic find, Mining speed and mining fortune to Accessory bag (and ferocity and magic find to /pv).
+- Update notifier for "Pre" version releases. (Ironm00n)
+- Added toggle for etherwarp helper overlay text.
+- Added toggle for settings and help icon at the search bar.
+- Added toggle for showing the reforge stats of a reforge stone.
+- Added open in skycrypt button to pv.
+- Added SBP Cape.
+- Added ironman indicator. (thanks for the icon ery)
+- Added join date, Last seen and guild to pv. (Last seen is based on last saved so this value is not when a player is online)
+
+
+### **Bug Fixes**
+- Fishing helper not showing "!" when rod colours are disabled.
+- Decimal point values not being counted in Accessory bag overlay.
+- /pv not having the correct max minion tier. (Ironm00n)
+- Other (not Transparent) storage ui themes not having edit button. (please update your textures artists)
+- Drill fuel bar support for crystal hollows and Divan's drill.
+- Set Alexxoffi's cape's properties to the right value.
+- Add an extra button texture so dark ui themes do not make the dungeon map editor unreadable. (located at "dungeon_map/editor/button.png")
+- Fix a spelling mistake in todo timers "Godpotf".
+- Fix Reforge stones with reforges that have no stats not showing the tooltip (hot stuff/heated example) (heated can now have its stats hotfix reverted @repo guys)
+- Fix dungeon win overlay.
+- Remove description and price tooltip from backpack/personalvault icon in /pv.
+
+- Added a hidden toggle to disable the negative cape (replaced with null cape (cause i thought it looked nice)) as a user was not able to play due to a graphical bug that caused their screen to turn full green.
+
+### **Other**
+- Code clean up by Ironm00n.
+- Rename variables to be more consistent. (Ironm00n)
+- Devpane changes. (? - DoKM) (Ironm00n)
+- Remove an unused button from ItemEditor. (Ironm00n)
+- Moved repoUrl and Repo commits Url to config.hidden. (Ironm00n)
+- A lot more. (Ironm00n)
+- Change Default todo overlay colours.
+- Added a notice to /neusouls help to inform the user that it does not work in dungeons.
+- Removed unused texture.
+- Reformatted Total Slayer XP number.
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java b/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java
index ff618f10..1bca2a84 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java
@@ -2,6 +2,7 @@ package io.github.moulberry.notenoughupdates;
import com.google.gson.JsonObject;
import io.github.moulberry.notenoughupdates.auction.APIManager;
+import io.github.moulberry.notenoughupdates.core.config.KeybindHelper;
import io.github.moulberry.notenoughupdates.util.Constants;
import io.github.moulberry.notenoughupdates.util.Utils;
import net.minecraft.item.ItemStack;
@@ -20,6 +21,12 @@ public class ItemPriceInformation {
}
public static boolean addToTooltip(List<String> tooltip, String internalname, ItemStack stack, boolean useStackSize) {
+ if(stack.getTagCompound().hasKey("disableNeuTooltip") && stack.getTagCompound().getBoolean("disableNeuTooltip")){
+ return false;
+ }
+ if(NotEnoughUpdates.INSTANCE.config.tooltipTweaks.disablePriceKey && !KeybindHelper.isKeyDown(NotEnoughUpdates.INSTANCE.config.tooltipTweaks.disablePriceKeyKeybind)){
+ return false;
+ }
JsonObject auctionInfo = NotEnoughUpdates.INSTANCE.manager.auctionManager.getItemAuctionInfo(internalname);
JsonObject bazaarInfo = NotEnoughUpdates.INSTANCE.manager.auctionManager.getBazaarInfo(internalname);
float lowestBinAvg = NotEnoughUpdates.INSTANCE.manager.auctionManager.getItemAvgBin(internalname);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java
index b849c890..43b43277 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java
@@ -756,7 +756,7 @@ public class NEUEventListener {
private String processText(String text) {
if(SBInfo.getInstance().getLocation() == null) return text;
- if(!SBInfo.getInstance().getLocation().startsWith("mining_")) return text;
+ if(!SBInfo.getInstance().getLocation().startsWith("mining_")&&!SBInfo.getInstance().getLocation().equals("crystal_hollows")) return text;
if(Minecraft.getMinecraft().thePlayer == null) return text;
if(!NotEnoughUpdates.INSTANCE.config.mining.drillFuelBar) return text;
@@ -1721,9 +1721,10 @@ public class NEUEventListener {
int index = 0;
List<String> newTooltip = new ArrayList<>();
for(String line : event.toolTip) {
- if(line.endsWith(EnumChatFormatting.DARK_GRAY+"Reforge Stone")) {
+ if(line.endsWith(EnumChatFormatting.DARK_GRAY+"Reforge Stone") && NotEnoughUpdates.INSTANCE.config.tooltipTweaks.showReforgeStats) {
JsonObject reforgeStones = Constants.REFORGESTONES;
+
if(reforgeStones != null && reforgeStones.has(internalname)) {
boolean shift = Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT);
if(!pressedShiftLast && shift) {
@@ -1777,85 +1778,89 @@ public class NEUEventListener {
pressedArrowLast = left || right;
JsonElement statsE = reforgeInfo.get("reforgeStats");
- if(statsE != null && statsE.isJsonObject()) {
- JsonObject stats = statsE.getAsJsonObject();
- String rarityFormatted = rarityArrMap.getOrDefault(rarity, rarity);
- JsonElement reforgeAbilityE = reforgeInfo.get("reforgeAbility");
- String reforgeAbility = null;
- if(reforgeAbilityE != null) {
- if(reforgeAbilityE.isJsonPrimitive() && reforgeAbilityE.getAsJsonPrimitive().isString()) {
- reforgeAbility = Utils.getElementAsString(reforgeInfo.get("reforgeAbility"), "");
+ String rarityFormatted = rarityArrMap.getOrDefault(rarity, rarity);
- } else if(reforgeAbilityE.isJsonObject()) {
- if(reforgeAbilityE.getAsJsonObject().has(rarity)) {
- reforgeAbility = reforgeAbilityE.getAsJsonObject().get(rarity).getAsString();
- }
+ JsonElement reforgeAbilityE = reforgeInfo.get("reforgeAbility");
+ String reforgeAbility = null;
+ if (reforgeAbilityE != null) {
+ if (reforgeAbilityE.isJsonPrimitive() && reforgeAbilityE.getAsJsonPrimitive().isString()) {
+ reforgeAbility = Utils.getElementAsString(reforgeInfo.get("reforgeAbility"), "");
+
+ } else if (reforgeAbilityE.isJsonObject()) {
+ if (reforgeAbilityE.getAsJsonObject().has(rarity)) {
+ reforgeAbility = reforgeAbilityE.getAsJsonObject().get(rarity).getAsString();
}
}
+ }
- if(reforgeAbility != null && !reforgeAbility.isEmpty()) {
- String text = EnumChatFormatting.BLUE + (reforgeName.isEmpty() ? "Bonus: " : reforgeName + " Bonus: ") +
- EnumChatFormatting.GRAY+reforgeAbility;
- boolean first = true;
- for(String s : Minecraft.getMinecraft().fontRendererObj.listFormattedStringToWidth(text, 150)) {
- newTooltip.add((first ? "" : " ") + s);
- first = false;
- }
- newTooltip.add("");
+ if (reforgeAbility != null && !reforgeAbility.isEmpty()) {
+ String text = EnumChatFormatting.BLUE + (reforgeName.isEmpty() ? "Bonus: " : reforgeName + " Bonus: ") +
+ EnumChatFormatting.GRAY + reforgeAbility;
+ boolean first = true;
+ for (String s : Minecraft.getMinecraft().fontRendererObj.listFormattedStringToWidth(text, 150)) {
+ newTooltip.add((first ? "" : " ") + s);
+ first = false;
}
+ newTooltip.add("");
+ }
- newTooltip.add(EnumChatFormatting.BLUE+"Stats for "+rarityFormatted+"\u00a79: [\u00a7l\u00a7m< \u00a79Switch\u00a7l\u27a1\u00a79]");
+ newTooltip.add(EnumChatFormatting.BLUE + "Stats for " + rarityFormatted + "\u00a79: [\u00a7l\u00a7m< \u00a79Switch\u00a7l\u27a1\u00a79]");
+
+ if(statsE != null && statsE.isJsonObject()) {
+ JsonObject stats = statsE.getAsJsonObject();
JsonElement statsRarE = stats.get(rarity);
- if(statsRarE != null && statsRarE.isJsonObject()) {
+ if (statsRarE != null && statsRarE.isJsonObject()) {
+
JsonObject statsRar = statsRarE.getAsJsonObject();
TreeSet<Map.Entry<String, JsonElement>> sorted = new TreeSet<>(Map.Entry.comparingByKey());
sorted.addAll(statsRar.entrySet());
- for(Map.Entry<String, JsonElement> entry : sorted) {
- if(entry.getValue().isJsonPrimitive() && ((JsonPrimitive)entry.getValue()).isNumber()) {
+ for (Map.Entry<String, JsonElement> entry : sorted) {
+ if (entry.getValue().isJsonPrimitive() && ((JsonPrimitive) entry.getValue()).isNumber()) {
float statNumF = entry.getValue().getAsFloat();
String statNumS;
- if(statNumF % 1 == 0) {
+ if (statNumF % 1 == 0) {
statNumS = String.valueOf(Math.round(statNumF));
} else {
statNumS = Utils.floatToString(statNumF, 1);
}
String reforgeNamePretty = WordUtils.capitalizeFully(entry.getKey().replace("_", " "));
- String text = EnumChatFormatting.GRAY + reforgeNamePretty + ": " + EnumChatFormatting.GREEN+"+"+statNumS;
- if(percentStats.contains(entry.getKey())) {
+ String text = EnumChatFormatting.GRAY + reforgeNamePretty + ": " + EnumChatFormatting.GREEN + "+" + statNumS;
+ if (percentStats.contains(entry.getKey())) {
text += "%";
}
- newTooltip.add(" "+text);
+ newTooltip.add(" " + text);
}
}
}
+ }
- JsonElement reforgeCostsE = reforgeInfo.get("reforgeCosts");
- int reforgeCost = -1;
- if(reforgeCostsE != null) {
- if(reforgeCostsE.isJsonPrimitive() && reforgeCostsE.getAsJsonPrimitive().isNumber()) {
- reforgeCost = (int)Utils.getElementAsFloat(reforgeInfo.get("reforgeAbility"), -1);
+ JsonElement reforgeCostsE = reforgeInfo.get("reforgeCosts");
+ int reforgeCost = -1;
+ if (reforgeCostsE != null) {
+ if (reforgeCostsE.isJsonPrimitive() && reforgeCostsE.getAsJsonPrimitive().isNumber()) {
+ reforgeCost = (int) Utils.getElementAsFloat(reforgeInfo.get("reforgeAbility"), -1);
- } else if(reforgeCostsE.isJsonObject()) {
- if(reforgeCostsE.getAsJsonObject().has(rarity)) {
- reforgeCost = (int)Utils.getElementAsFloat(reforgeCostsE.getAsJsonObject().get(rarity), -1);
- }
+ } else if (reforgeCostsE.isJsonObject()) {
+ if (reforgeCostsE.getAsJsonObject().has(rarity)) {
+ reforgeCost = (int) Utils.getElementAsFloat(reforgeCostsE.getAsJsonObject().get(rarity), -1);
}
}
+ }
- if(reforgeCost >= 0) {
- String text = EnumChatFormatting.BLUE + "Apply Cost: " + EnumChatFormatting.GOLD+NumberFormat.getNumberInstance().format(reforgeCost) +" coins";
- newTooltip.add("");
- newTooltip.add(text);
- }
-
+ if (reforgeCost >= 0) {
+ String text = EnumChatFormatting.BLUE + "Apply Cost: " + EnumChatFormatting.GOLD + NumberFormat.getNumberInstance().format(reforgeCost) + " coins";
+ newTooltip.add("");
+ newTooltip.add(text);
}
+
}
+
continue;
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
index bf85a6a6..4859e5a6 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
@@ -180,6 +180,9 @@ public class NEUOverlay extends Gui {
@Override
public void mouseClick(float x, float y, int mouseX, int mouseY) {
+ if(!NotEnoughUpdates.INSTANCE.config.toolbar.searchBar) {
+ return;
+ }
if(Mouse.getEventButtonState()) {
setSearchBarFocus(true);
if(Mouse.getEventButton() == 1) { //Right mouse button down
@@ -202,6 +205,9 @@ public class NEUOverlay extends Gui {
@Override
public void render(float x, float y) {
+ if(!NotEnoughUpdates.INSTANCE.config.toolbar.searchBar) {
+ return;
+ }
FontRenderer fr = Minecraft.getMinecraft().fontRendererObj;
int paddingUnscaled = getPaddingUnscaled();
@@ -282,6 +288,7 @@ public class NEUOverlay extends Gui {
(int)x + 5 + textBeforeSelectionWidth,
(int)y-4 + getHeight()/2, Color.BLACK.getRGB());
}
+
}
@Override
@@ -308,6 +315,9 @@ public class NEUOverlay extends Gui {
@Override
public void mouseClick(float x, float y, int mouseX, int mouseY) {
+ if(!NotEnoughUpdates.INSTANCE.config.toolbar.enableSettingsButton) {
+ return;
+ }
if(Mouse.getEventButtonState()) {
NotEnoughUpdates.INSTANCE.openGui = new GuiScreenElementWrapper(new NEUConfigEditor(NotEnoughUpdates.INSTANCE.config));
}
@@ -322,15 +332,20 @@ public class NEUOverlay extends Gui {
int paddingUnscaled = getPaddingUnscaled();
int searchYSize = getSearchBarYSize();
+
+ if(!NotEnoughUpdates.INSTANCE.config.toolbar.enableSettingsButton) {
+ return;
+ }
Minecraft.getMinecraft().getTextureManager().bindTexture(quickcommand_background);
GlStateManager.color(1, 1, 1, 1);
Utils.drawTexturedRect(x, y,
- searchYSize + paddingUnscaled*2, searchYSize + paddingUnscaled*2, GL11.GL_NEAREST);
+ searchYSize + paddingUnscaled * 2, searchYSize + paddingUnscaled * 2, GL11.GL_NEAREST);
Minecraft.getMinecraft().getTextureManager().bindTexture(settings);
GlStateManager.color(1f, 1f, 1f, 1f);
- Utils.drawTexturedRect((int)x + paddingUnscaled, (int)y + paddingUnscaled,
+ Utils.drawTexturedRect((int) x + paddingUnscaled, (int) y + paddingUnscaled,
searchYSize, searchYSize);
+
GlStateManager.bindTexture(0);
}
};
@@ -354,6 +369,9 @@ public class NEUOverlay extends Gui {
@Override
public void mouseClick(float x, float y, int mouseX, int mouseY) {
+ if(!NotEnoughUpdates.INSTANCE.config.toolbar.enableHelpButton){
+ return;
+ }
if(Mouse.getEventButtonState()) {
//displayInformationPane(HTMLInfoPane.createFromWikiUrl(overlay, manager, "Help",
// "https://moulberry.github.io/files/neu_help.html"));
@@ -371,16 +389,21 @@ public class NEUOverlay extends Gui {
int paddingUnscaled = getPaddingUnscaled();
int searchYSize = getSearchBarYSize();
+ if(!NotEnoughUpdates.INSTANCE.config.toolbar.enableHelpButton) {
+ return;
+ }
+
Minecraft.getMinecraft().getTextureManager().bindTexture(quickcommand_background);
GlStateManager.color(1, 1, 1, 1);
Utils.drawTexturedRect(x, y,
- searchYSize + paddingUnscaled*2, searchYSize + paddingUnscaled*2, GL11.GL_NEAREST);
+ searchYSize + paddingUnscaled * 2, searchYSize + paddingUnscaled * 2, GL11.GL_NEAREST);
Minecraft.getMinecraft().getTextureManager().bindTexture(help);
GlStateManager.color(1f, 1f, 1f, 1f);
- Utils.drawTexturedRect((int)x + paddingUnscaled, (int)y + paddingUnscaled,
+ Utils.drawTexturedRect((int) x + paddingUnscaled, (int) y + paddingUnscaled,
getSearchBarYSize(), getSearchBarYSize());
GlStateManager.bindTexture(0);
+
}
};
}
@@ -517,20 +540,6 @@ public class NEUOverlay extends Gui {
public int getPadding() {
return getPaddingUnscaled()*4;
}
-
- @Override
- public void mouseClick(float x, float y, int mouseX, int mouseY) {
- if(NotEnoughUpdates.INSTANCE.config.toolbar.searchBar) {
- super.mouseClick(x, y, mouseX, mouseY);
- }
- }
-
- @Override
- public void render(float x, float y) {
- if(NotEnoughUpdates.INSTANCE.config.toolbar.searchBar) {
- super.render(x, y);
- }
- }
};
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
index c638eca6..3b78c2c9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
@@ -1288,6 +1288,7 @@ public class NotEnoughUpdates {
public void displayLinks(JsonObject update) {
String discord_link = update.get("discord_link").getAsString();
String youtube_link = update.get("youtube_link").getAsString();
+ String twitch_link = update.get("twitch_link").getAsString();
String update_link = update.get("update_link").getAsString();
String github_link = update.get("github_link").getAsString();
String other_text = update.get("other_text").getAsString();
@@ -1300,11 +1301,13 @@ public class NotEnoughUpdates {
}
ChatComponentText links = new ChatComponentText("");
ChatComponentText separator = new ChatComponentText(
- EnumChatFormatting.GRAY+EnumChatFormatting.BOLD.toString()+EnumChatFormatting.STRIKETHROUGH+(other==null?"---":"--"));
+ EnumChatFormatting.GRAY+EnumChatFormatting.BOLD.toString()+EnumChatFormatting.STRIKETHROUGH+(other==null?"--":"-"));
ChatComponentText discord = new ChatComponentText(EnumChatFormatting.GRAY+"["+EnumChatFormatting.BLUE+"Discord"+EnumChatFormatting.GRAY+"]");
discord.setChatStyle(Utils.createClickStyle(ClickEvent.Action.OPEN_URL, discord_link));
ChatComponentText youtube = new ChatComponentText(EnumChatFormatting.GRAY+"["+EnumChatFormatting.RED+"YouTube"+EnumChatFormatting.GRAY+"]");
youtube.setChatStyle(Utils.createClickStyle(ClickEvent.Action.OPEN_URL, youtube_link));
+ ChatComponentText twitch = new ChatComponentText(EnumChatFormatting.GRAY+"["+EnumChatFormatting.DARK_PURPLE+"Twitch"+EnumChatFormatting.GRAY+"]");
+ twitch.setChatStyle(Utils.createClickStyle(ClickEvent.Action.OPEN_URL, twitch_link));
ChatComponentText release = new ChatComponentText(EnumChatFormatting.GRAY+"["+EnumChatFormatting.GREEN+"Release"+EnumChatFormatting.GRAY+"]");
release.setChatStyle(Utils.createClickStyle(ClickEvent.Action.OPEN_URL, update_link));
ChatComponentText github = new ChatComponentText(EnumChatFormatting.GRAY+"["+EnumChatFormatting.DARK_PURPLE+"GitHub"+EnumChatFormatting.GRAY+"]");
@@ -1315,6 +1318,8 @@ public class NotEnoughUpdates {
links.appendSibling(separator);
links.appendSibling(youtube);
links.appendSibling(separator);
+ links.appendSibling(twitch);
+ links.appendSibling(separator);
links.appendSibling(release);
links.appendSibling(separator);
links.appendSibling(github);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
index 893a1109..44958889 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/CapeManager.java
@@ -103,6 +103,7 @@ public class CapeManager {
new CapeData("subreddit_light", true, false),
new CapeData("packshq", true, false),
new CapeData("skytils", true, false),
+ new CapeData("sbp", true, false),
//Special Other
new CapeData("contrib", true, false),
@@ -137,6 +138,7 @@ public class CapeManager {
}
private void updateCapes() {
+
NotEnoughUpdates.INSTANCE.manager.hypixelApi.getMyApiAsync("activecapes.json", (jsonObject) -> {
if(jsonObject.get("success").getAsBoolean()) {
lastJsonSync = jsonObject;
@@ -203,7 +205,9 @@ public class CapeManager {
if(none) {
localCape = null;
} else {
- localCape = new MutablePair<>(new NEUCape(capename), capename);
+ if (!NotEnoughUpdates.INSTANCE.config.hidden.disableAllCapes) {
+ localCape = new MutablePair<>(new NEUCape(capename), capename);
+ }
}
} else if(capeMap.containsKey(playerUUID)) {
if(none) {
@@ -213,7 +217,9 @@ public class CapeManager {
capePair.setValue(capename);
}
} else if(!none) {
- capeMap.put(playerUUID, new MutablePair<>(new NEUCape(capename), capename));
+ if (!NotEnoughUpdates.INSTANCE.config.hidden.disableAllCapes){
+ capeMap.put(playerUUID, new MutablePair<>(new NEUCape(capename), capename));
+ }
}
}
@@ -287,7 +293,9 @@ public class CapeManager {
String selCape = NotEnoughUpdates.INSTANCE.config.hidden.selectedCape;
if(selCape != null && !selCape.isEmpty()) {
if(localCape == null) {
- localCape = new MutablePair<>(new NEUCape(selCape), selCape);
+ if (!NotEnoughUpdates.INSTANCE.config.hidden.disableAllCapes) {
+ localCape = new MutablePair<>(new NEUCape(selCape), selCape);
+ }
} else {
localCape.setValue(selCape);
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java
index e976fb76..6011f0ac 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java
@@ -1,5 +1,6 @@
package io.github.moulberry.notenoughupdates.cosmetics;
+import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
import io.github.moulberry.notenoughupdates.core.util.lerp.LerpUtils;
import io.github.moulberry.notenoughupdates.util.ReverseWorldRenderer;
import io.github.moulberry.notenoughupdates.util.TexLoc;
@@ -79,32 +80,46 @@ public class NEUCape {
public void setCapeTexture(String capeName) {
if(this.capeName != null && this.capeName.equalsIgnoreCase(capeName)) return;
- this.capeName = capeName;
startTime = System.currentTimeMillis();
+ boolean defaultBehaviour = true;
- if(capeName.equalsIgnoreCase("fade")) {
- shaderName = "fade_cape";
- } else if(capeName.equalsIgnoreCase("space")) {
- shaderName = "space_cape";
-