aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java26
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java12
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java7
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/commands/StatsCommand.java9
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java9
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java8
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java12
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java26
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java18
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java7
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java22
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java77
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlayerOverlay.java68
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java9
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/CombatSkillOverlay.java246
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningOverlay.java7
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/MiningSkillOverlay.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/OverlayManager.java44
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/SlayerOverlay.java194
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java18
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java15
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/SBInfo.java32
-rw-r--r--src/main/resources/assets/notenoughupdates/custom_enchant_gui.pngbin5501 -> 4982 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/pv_bingo.pngbin0 -> 250 bytes
25 files changed, 839 insertions, 31 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java
index 6ba3c244..09505c52 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUEventListener.java
@@ -68,6 +68,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import static io.github.moulberry.notenoughupdates.overlays.SlayerOverlay.*;
import static io.github.moulberry.notenoughupdates.util.GuiTextures.dungeon_chest_worth;
public class NEUEventListener {
@@ -171,6 +172,7 @@ public class NEUEventListener {
private static boolean showNotificationOverInv = false;
private static final Pattern BAD_ITEM_REGEX = Pattern.compile("x[0-9]{1,2}$");
+ private static final Pattern SLAYER_XP = Pattern.compile(" (Spider|Zombie|Wolf|Enderman) Slayer LVL (\\d) - (?:Next LVL in ([\\d,]+) XP!|LVL MAXED OUT!)");
/**
* 1)Will send the cached message from #sendChatMessage when at least 200ms has passed since the last message.
@@ -830,6 +832,7 @@ public class NEUEventListener {
String r = null;
String unformatted = Utils.cleanColour(e.message.getUnformattedText());
+ Matcher matcher = SLAYER_XP.matcher(unformatted);
if (unformatted.startsWith("You are playing on profile: ")) {
neu.manager.setCurrentProfile(unformatted.substring("You are playing on profile: ".length()).split(" ")[0].trim());
} else if (unformatted.startsWith("Your profile was changed to: ")) {//Your profile was changed to:
@@ -846,6 +849,29 @@ public class NEUEventListener {
} else if (e.message.getFormattedText().startsWith(EnumChatFormatting.RESET.toString() +
EnumChatFormatting.RED + "Invalid recipe ")) {
r = "";
+ } else if (unformatted.equals(" NICE! SLAYER BOSS SLAIN!")) {
+ SlayerOverlay.isSlain = true;
+ } else if (unformatted.equals(" SLAYER QUEST STARTED!")) {
+ SlayerOverlay.isSlain = false;
+ if (timeSinceLastBoss == 0) {
+ SlayerOverlay.timeSinceLastBoss = System.currentTimeMillis();
+ } else {
+ timeSinceLastBoss2 = timeSinceLastBoss;
+ timeSinceLastBoss = System.currentTimeMillis();
+ }
+ } else if (unformatted.startsWith(" RNGesus Meter:")) {
+ RNGMeter = unformatted.substring(" RNGesus Meter: -------------------- ".length());
+ } else if (matcher.matches()) {
+ //matcher.group(1);
+ SlayerOverlay.slayerLVL = matcher.group(2);
+ if (!SlayerOverlay.slayerLVL.equals("9")) {
+ SlayerOverlay.slayerXp = matcher.group(3);
+ } else {
+ slayerXp = "maxed";
+ }
+ } else if (unformatted.startsWith("Sending to server") || (unformatted.startsWith("Your Slayer Quest has been cancelled!"))) {
+ SlayerOverlay.slayerQuest = false;
+ SlayerOverlay.unloadOverlayTimer = System.currentTimeMillis();
}
if (e.message.getFormattedText().contains(EnumChatFormatting.YELLOW + "Visit the Auction House to collect your item!")) {
if (NotEnoughUpdates.INSTANCE.manager.auctionManager.customAH.latestBid != null &&
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
index ef2c14b9..d943d135 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java
@@ -96,6 +96,7 @@ public class NEUOverlay extends Gui {
//Various constants used for GUI structure
private final int searchBarYOffset = 10;
private final int searchBarPadding = 2;
+ private long lastSearchMode = 0;
private float oldWidthMult = 0;
@@ -197,6 +198,7 @@ public class NEUOverlay extends Gui {
} else {
if (System.currentTimeMillis() - millisLastLeftClick < 300) {
searchMode = !searchMode;
+ lastSearchMode = System.currentTimeMillis();
if (searchMode && NotEnoughUpdates.INSTANCE.config.hidden.firstTimeSearchFocus) {
NEUEventListener.displayNotification(Lists.newArrayList(
"\u00a7eSearch Highlight",
@@ -205,13 +207,16 @@ public class NEUOverlay extends Gui {
"\u00a77This allows you easily find items as the item will stand out.",
"\u00a77To toggle this please double click on the search bar in your inventory.",
"\u00a77",
- "\u00a77Press X on your keyboard to close this notifcation"), true, true);
+ "\u00a77Press X on your keyboard to close this notification"), true, true);
NotEnoughUpdates.INSTANCE.config.hidden.firstTimeSearchFocus = false;
}
}
textField.setCursorPosition(getClickedIndex(mouseX, mouseY));
millisLastLeftClick = System.currentTimeMillis();
+ if (searchMode) {
+ lastSearchMode = System.currentTimeMillis();
+ }
}
}
}
@@ -2041,6 +2046,11 @@ public class NEUOverlay extends Gui {
GlStateManager.disableLighting();
Utils.pushGuiScale(-1);
+
+ if (System.currentTimeMillis() - lastSearchMode > 120000 && NotEnoughUpdates.INSTANCE.config.toolbar.autoTurnOffSearchMode
+ || !NotEnoughUpdates.INSTANCE.config.toolbar.searchBar) {
+ searchMode = false;
+ }
}
/**
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java
index 7d1ef905..3be881ac 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/Commands.java
@@ -716,7 +716,7 @@ public class Commands {
"Ok, this is actually the last message, use the command again and you'll crash I promise"};
private int devFailIndex = 0;
- private static final List<String> devTestUsers = new ArrayList<>(Arrays.asList("moulberry", "lucycoconut", "ironm00n", "ariyio"));
+ private static final List<String> devTestUsers = new ArrayList<>(Arrays.asList("moulberry", "lucycoconut", "ironm00n", "ariyio", "throwpo"));
SimpleCommand devTestCommand = new SimpleCommand("neudevtest", new SimpleCommand.ProcessCommandRunnable() {
@Override
public void processCommand(ICommandSender sender, String[] args) {
@@ -767,6 +767,11 @@ public class Commands {
NotEnoughUpdates.INSTANCE.saveConfig();
return;
}
+ if (args.length == 1 && args[0].equalsIgnoreCase("searchmode")) {
+ NotEnoughUpdates.INSTANCE.config.hidden.firstTimeSearchFocus = true;
+ Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "I would never search"));
+ return;
+ }
if (args.length == 1 && args[0].equalsIgnoreCase("center")) {
double x = Math.floor(Minecraft.getMinecraft().thePlayer.posX) + 0.5f;
double z = Math.floor(Minecraft.getMinecraft().thePlayer.posZ) + 0.5f;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/StatsCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/StatsCommand.java
index e0743162..3888e3ea 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/StatsCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/StatsCommand.java
@@ -34,12 +34,18 @@ public class StatsCommand extends ClientCommandBase {
super("neustats");
}
+ private static int activeModCount = Loader.instance().getActiveModList().size();
+
@Override
public void processCommand(ICommandSender sender, String[] args) {
if (args.length > 0) {
switch (args[0].toLowerCase(Locale.ROOT)) {
case "modlist":
- clipboardAndSendMessage(createModList(new DiscordMarkdownBuilder()).toString());
+ if (activeModCount > 15) {
+ clipboardAndSendMessage(createModList(new DiscordMarkdownBuilder()).toString());
+ } else {
+ clipboardAndSendMessage(createStats());
+ }
break;
case "dump":
modPrefixedMessage(EnumChatFormatting.GREEN + "This will upload a dump of the java classes your game has loaded how big they are and how many there are. This can take a few seconds as it is uploading to HasteBin.");
@@ -95,7 +101,6 @@ public class StatsCommand extends ClientCommandBase {
long totalMemory = Runtime.getRuntime().totalMemory();
long freeMemory = Runtime.getRuntime().freeMemory();
long currentMemory = totalMemory - freeMemory;
- int activeModCount = Loader.instance().getActiveModList().size();
builder.category("System Stats");
builder.append("OS", System.getProperty("os.name"));
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java
index 8e712012..94e308a1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/FishingHelper.java
@@ -355,8 +355,13 @@ public class FishingHelper {
Minecraft.getMinecraft().thePlayer.fishEntity != null &&
Minecraft.getMinecraft().thePlayer.fishEntity.getEntityId() == hookEntityId &&
chain.particleNum > 3) {
-
- if (newDistance <= 0.2f + 0.1f * pingDelayTicks && NotEnoughUpdates.INSTANCE.config.fishing.incomingFishWarningR) {
+ float lavaOffset = 0.1f;
+ if (particleType == EnumParticleTypes.SMOKE_NORMAL) {
+ lavaOffset = 0.03f;
+ } else if (particleType == EnumParticleTypes.WATER_WAKE) {
+ lavaOffset = 0.1f;
+ }
+ if (newDistance <= 0.2f + lavaOffset * pingDelayTicks && NotEnoughUpdates.INSTANCE.config.fishing.incomingFishWarningR) {
if (NotEnoughUpdates.INSTANCE.config.fishing.incomingFishHookedSounds &&
hookedWarningStateTicks <= 0) {
float vol = NotEnoughUpdates.INSTANCE.config.fishing.incomingFishHookedSoundsVol / 100f;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java
index 9180cca6..19dca439 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/NPCRetexturing.java
@@ -43,7 +43,7 @@ public class NPCRetexturing implements IResourceManagerReloadListener {
public Skin getSkin(AbstractClientPlayer player) {
if (gettingSkin) return null;
- if (player.getUniqueID().version() == 4) return null;
+ if (player.getUniqueID().version() == 4 && !NotEnoughUpdates.INSTANCE.config.hidden.npcRetextureOnSelf) return null;
if (skinOverrideCache.containsKey(player)) {
return skinOverrideCache.get(player);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java
index 0415c629..955fbbbd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/PetInfoOverlay.java
@@ -764,6 +764,9 @@ public class PetInfoOverlay extends TextOverlay {
foundDespawn = true;
break;
}
+ if (line.equals("\u00a77\u00a77Selected pet: \u00a7cNone")){
+ clearPet();
+ }
}
if (!foundDespawn && config.selectedPet == petIndex && currentTime - lastPetSelect > 500) {
clearPet();
@@ -1140,9 +1143,8 @@ public class PetInfoOverlay extends TextOverlay {
Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "[NEU] Can't find pet \u00a7" + petStringMatch +
EnumChatFormatting.RED + " try revisiting all pages of /pets."));
}
- } else if (chatMessage.toLowerCase().startsWith("you despawned your")) {
- clearPet();
- } else if (chatMessage.toLowerCase().contains("switching to profile")) {
+ } else if ((chatMessage.toLowerCase().startsWith("you despawned your")) || (chatMessage.toLowerCase().contains("switching to profile"))
+ || (chatMessage.toLowerCase().contains("transferring you to a new island..."))) {
clearPet();
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java
index 218076a5..4510c675 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiCustomEnchant.java
@@ -586,9 +586,9 @@ public class GuiCustomEnchant extends Gui {
Utils.drawTexturedRect(guiLeft + 295, guiTop + 147, 16, 16,
0, 16 / 512f, 387 / 512f, (387 + 16) / 512f, GL11.GL_NEAREST);
//Incompatible Settings Button
- float incompatibleMinU = NotEnoughUpdates.INSTANCE.config.enchantingSolvers.incompatibleEnchants * 16 / 512f;
+ /*float incompatibleMinU = NotEnoughUpdates.INSTANCE.config.enchantingSolvers.incompatibleEnchants * 16 / 512f;
Utils.drawTexturedRect(guiLeft + 295 + 18, guiTop + 147, 16, 16,
- incompatibleMinU, incompatibleMinU + 16 / 512f, 403 / 512f, (403 + 16) / 512f, GL11.GL_NEAREST);
+ incompatibleMinU, incompatibleMinU + 16 / 512f, 403 / 512f, (403 + 16) / 512f, GL11.GL_NEAREST);*/
//Sorting Settings Button
float sortingMinU = NotEnoughUpdates.INSTANCE.config.enchantingSolvers.enchantSorting * 16 / 512f;
Utils.drawTexturedRect(guiLeft + 295, guiTop + 147 + 18, 16, 16,
@@ -606,7 +606,7 @@ public class GuiCustomEnchant extends Gui {
Gui.drawRect(guiLeft + 295, guiTop + 147, guiLeft + 295 + 16, guiTop + 147 + 16, 0x80ffffff);
tooltipToDisplay = createTooltip("Enable GUI", 0, "On", "Off");
break;
- case 1:
+ /*case 1:
Gui.drawRect(guiLeft + 295 + 18, guiTop + 147, guiLeft + 295 + 16 + 18, guiTop + 147 + 16, 0x80ffffff);
tooltipToDisplay = createTooltip("Incompatible Enchants",
NotEnoughUpdates.INSTANCE.config.enchantingSolvers.incompatibleEnchants,
@@ -614,7 +614,7 @@ public class GuiCustomEnchant extends Gui {
tooltipToDisplay.add(1, EnumChatFormatting.GRAY + "How to display enchants that are");
tooltipToDisplay.add(2, EnumChatFormatting.GRAY + "incompatible with your current item,");
tooltipToDisplay.add(3, EnumChatFormatting.GRAY + "eg. Smite on a sword with Sharpness");
- break;
+ break;*/
case 2:
Gui.drawRect(guiLeft + 295, guiTop + 147 + 18, guiLeft + 295 + 16, guiTop + 147 + 16 + 18, 0x80ffffff);
tooltipToDisplay = createTooltip("Sort enchants...",
@@ -1435,14 +1435,14 @@ public class GuiCustomEnchant extends Gui {
NotEnoughUpdates.INSTANCE.config.enchantingSolvers.enableTableGUI = false;
break;
}
- case 1: {
+ /*case 1: {
int val = NotEnoughUpdates.INSTANCE.config.enchantingSolvers.incompatibleEnchants;
val += direction;
if (val < 0) val = 1;
if (val > 1) val = 0;
NotEnoughUpdates.INSTANCE.config.enchantingSolvers.incompatibleEnchants = val;
break;
- }
+ }*/
case 2: {
int val = NotEnoughUpdates.INSTANCE.config.enchantingSolvers.enchantSorting;
val += direction;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java
index 87084199..e1280bb9 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java
@@ -14,6 +14,7 @@ import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.input.Keyboard;
@@ -85,6 +86,9 @@ public class GuiEnchantColour extends GuiScreen {
return enchantNamesPretty;
}
+ private ItemStack maxedBook;
+ private int maxedBookFound =0;
+
private List<String> getEnchantColours() {
return NotEnoughUpdates.INSTANCE.config.hidden.enchantColours;
}
@@ -192,8 +196,30 @@ public class GuiEnchantColour extends GuiScreen {
GlStateManager.color(1, 1, 1, 1);
Minecraft.getMinecraft().getTextureManager().bindTexture(help);
Utils.drawTexturedRect(guiLeft + xSize + 3, guiTopSidebar - 18, 16, 16, GL11.GL_NEAREST);
+ if(maxedBookFound == 0){
+ try {
+ if (NotEnoughUpdates.INSTANCE.manager.jsonToStack(
+ NotEnoughUpdates.INSTANCE.manager.getItemInformation().get("MAXED_ENCHANT_BOOK")).hasDisplayName()) {
+ maxedBook = NotEnoughUpdates.INSTANCE.manager.jsonToStack(NotEnoughUpdates.INSTANCE.manager.getItemInformation().get("MAXED_ENCHANT_BOOK"));
+ maxedBookFound = 1;
+ } else {
+ maxedBookFound = 2;
+ }
+
+ } catch(Exception ignored){
+ maxedBookFound = 2;
+ }
+ }
+ if (maxedBookFound == 1){
+ Utils.drawItemStack(maxedBook, guiLeft + xSize +3, guiTopSidebar - 34);
+ }
if (mouseX >= guiLeft + xSize + 3 && mouseX < guiLeft + xSize + 19) {
+ if(mouseY >= guiTopSidebar - 34 && mouseY <= guiTopSidebar - 18 && maxedBookFound == 1){
+ tooltipToDisplay = maxedBook.getTooltip(Minecraft.getMinecraft().thePlayer, false);
+ Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr);
+ tooltipToDisplay = null;
+ }
if (mouseY >= guiTopSidebar - 18 && mouseY <= guiTopSidebar - 2) {
tooltipToDisplay = Lists.newArrayList(
EnumChatFormatting.AQUA+"NEUEC Colouring Guide",
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java
index 7087961c..8dce4cc1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java
@@ -101,6 +101,13 @@ public class NEUConfig extends Config {
return;
case 17:
ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/neusouls unclear");
+ return;
+ case 18:
+ editOverlay(activeConfigCategory, OverlayManager.slayerOverlay, slayerOverlay.slayerPosition);
+ return;
+ case 19:
+ editOverlay(activeConfigCategory, OverlayManager.combatSkillOverlay, skillOverlays.combatPosition);
+
}
}
@@ -183,6 +190,13 @@ public class NEUConfig extends Config {
@Expose
@Category(
+ name = "Slayer Overlay",
+ desc = "Slayer Overlay"
+ )
+ public SlayerOverlay slayerOverlay = new SlayerOverlay();
+
+ @Expose
+ @Category(
name = "Storage GUI",
desc = "Storage GUI"
)
@@ -331,6 +345,10 @@ public class NEUConfig extends Config {
@Expose
public boolean disableBrokenCapes = false;
+ //Ery wanted to texture himself because its ery
+ @Expose
+ public boolean npcRetextureOnSelf = false;
+
}
public static ArrayList<String> createDefaultEnchantColours() {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java
index 6666302e..16288f21 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java
@@ -20,7 +20,7 @@ public class Enchanting {
@ConfigAccordionId(id = 1)
public boolean enableTableGUI = true;
- @Expose
+ /*@Expose
@ConfigOption(
name = "Incompatible Enchants",
desc = "How to display enchants that are incompatible with your current item, eg. Smite on a sword with Sharpness"
@@ -29,7 +29,7 @@ public class Enchanting {
values = {"Highlight", "Hide"}
)
@ConfigAccordionId(id = 1)
- public int incompatibleEnchants = 0;
+ public int incompatibleEnchants = 0;*/
@Expose
@ConfigOption(
@@ -68,7 +68,8 @@ public class Enchanting {
@ConfigEditorBoolean
@ConfigAccordionId(id = 0)
public boolean enableEnchantingSolvers = true;
-
+ //In an email from Donpireso (admin) he says not sending a packet at all isn't bannable
+ //https://cdn.discordapp.com/attachments/823769568933576764/906101631861526559/unknown.png
@Expose
@ConfigOption(
name = "Prevent Misclicks",
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java
index edd0ad46..1fe90985 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java
@@ -135,4 +135,26 @@ public class LocationEdit {
)
public Position fishingPosition = new Position(10, 200);
+ @Expose
+ @ConfigOption(
+ name = "Slayer Position",
+ desc = "Change the position of the Slayer overlay"
+ )
+ @ConfigEditorButton(
+ runnableId = 18,
+ buttonText = "Edit"
+ )
+ public Position slayerPosition = new Position(10, 200);
+
+ @Expose
+ @ConfigOption(
+ name = "Combat Position",
+ desc = "Change the position of the Combat overlay"
+ )
+ @ConfigEditorButton(
+ runnableId = 19,
+ buttonText = "Edit"
+ )
+ public Position combatPosition = new Position(10, 200);
+
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java
index d9278280..cc419380 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java
@@ -236,4 +236,81 @@ public class SkillOverlays {
)
@ConfigAccordionId(id = 3)
public int customFishTimer = 300;
+
+ @ConfigOption(
+ name = "Combat",
+ desc = ""
+ )
+ @ConfigEditorAccordion(id = 4)
+ public boolean combatAccordion = false;
+
+ @Expose
+ @ConfigOption(
+ name = "\u00A7cWarning",
+ desc = "The combat display will only show if you have a Book of Stats on the item you are using"
+ )
+ @ConfigEditorFSR(
+ runnableId = 12,
+ buttonText = ""
+ )
+ @ConfigAccordionId(id = 4)
+ public boolean combatInfo = false;
+
+ @Expose
+ @ConfigOption(
+ name = "Enable Combat Overlay",
+ desc = "Show an overlay while Combat with useful information"
+ )
+ @ConfigEditorBoolean
+ @ConfigAccordionId(id = 4)
+ public boolean combatSkillOverlay = true;
+
+ @Expose
+ @ConfigOption(
+ name = "Combat Text",
+ desc = "\u00a7eDrag text to change the appearance of the overlay\n" +
+ "\u00a7rHold an item with Book of Stats to show the display"
+ )
+ @ConfigEditorDraggableList(
+ exampleText = {"\u00a7bKills: \u00a7e547,860",
+ "\u00a7bCombat: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%",
+ "\u00a7bCurrent XP: \u00a7e6,734",
+ "\u00a7bRemaining XP: \u00a7e3,265",
+ "\u00a7bXP/h: \u00a7e238,129",
+ "\u00a7bETA: \u00a7e13h12m"}
+ )
+ @ConfigAccordionId(id = 4)
+ public List<Integer> combatText = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5));
+
+ @Expose
+ @ConfigOption(
+ name = "Combat Position",
+ desc = "Change the position of the Combat overlay"
+ )
+ @ConfigEditorButton(
+ runnableId = 19,
+ buttonText = "Edit"
+ )
+ @ConfigAccordionId(id = 4)
+ public Position combatPosition = new Position(10, 200);
+
+ @Expose
+ @ConfigOption(
+ name = "Combat Style",
+ desc = "Change the style of the Combat overlay"
+ )
+ @ConfigEditorDropdown(
+ values = {"Background", "No Shadow", "Shadow", "Full Shadow"}
+ )
+ @ConfigAccordionId(id = 4)
+ public int combatStyle = 0;
+
+ @Expose
+ @ConfigOption(
+