diff options
author | Julienraptor01 <julienraptor01@gmail.com> | 2023-04-07 00:50:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-07 00:50:18 +0200 |
commit | de9d2f3f210a5bb9aad3792666d14e3d5d75ebc2 (patch) | |
tree | 2015098d5c1b0bcd0b0289253e540362b90c56b9 /src/main | |
parent | 1ff677ec7f1afea7417a79bacd07192ed7f516e3 (diff) | |
parent | 38352b7ed91d988d7155e97a668fa01db7749b85 (diff) | |
download | Skyblocker-de9d2f3f210a5bb9aad3792666d14e3d5d75ebc2.tar.gz Skyblocker-de9d2f3f210a5bb9aad3792666d14e3d5d75ebc2.tar.bz2 Skyblocker-de9d2f3f210a5bb9aad3792666d14e3d5d75ebc2.zip |
Merge branch 'master' into fix-tab-matching
Diffstat (limited to 'src/main')
6 files changed, 163 insertions, 161 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java index 8cd71770..f804d90e 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java +++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java @@ -15,12 +15,11 @@ public class SkyblockerMod { public final Scheduler scheduler = new Scheduler(); public final ContainerSolverManager containerSolverManager = new ContainerSolverManager(); - public final DiscordRPCManager discordRPCManager = new DiscordRPCManager(); public final StatusBarTracker statusBarTracker = new StatusBarTracker(); private SkyblockerMod() { scheduler.scheduleCyclic(Utils::sbChecker, 20); - scheduler.scheduleCyclic(discordRPCManager::update, 100); + scheduler.scheduleCyclic(DiscordRPCManager::update, 100); scheduler.scheduleCyclic(DungeonBlaze::update, 4); scheduler.scheduleCyclic(BackpackPreview::tick, 50); scheduler.scheduleCyclic(DwarvenHud::update, 40); diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java index 19789dba..da082c2d 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java @@ -5,7 +5,7 @@ import me.xmrvizzy.skyblocker.config.SkyblockerConfig; public class MoltenWaveFilter extends SimpleChatFilter { public MoltenWaveFilter() { - super("^Your Molten Wave hit " + NUMBER + " enemy(?:y|ies) for " + NUMBER + " damage\\.$"); + super("^Your Molten Wave hit " + NUMBER + " enem(?:y|ies) for " + NUMBER + " damage\\.$"); } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 83513e19..283d97dc 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -1,8 +1,5 @@ package me.xmrvizzy.skyblocker.config; -import java.util.ArrayList; -import java.util.List; - import me.shedaniel.autoconfig.AutoConfig; import me.shedaniel.autoconfig.ConfigData; import me.shedaniel.autoconfig.annotation.Config; @@ -10,79 +7,82 @@ import me.shedaniel.autoconfig.annotation.ConfigEntry; import me.shedaniel.autoconfig.serializer.GsonConfigSerializer; import me.xmrvizzy.skyblocker.chat.ChatFilterResult; +import java.util.ArrayList; +import java.util.List; + @Config(name = "skyblocker") public class SkyblockerConfig implements ConfigData { @ConfigEntry.Category("general") @ConfigEntry.Gui.TransitiveObject - public final General general = new General(); + public General general = new General(); @ConfigEntry.Category("locations") @ConfigEntry.Gui.TransitiveObject - public final Locations locations = new Locations(); + public Locations locations = new Locations(); @ConfigEntry.Category("quickNav") @ConfigEntry.Gui.TransitiveObject - public final QuickNav quickNav = new QuickNav(); + public QuickNav quickNav = new QuickNav(); @ConfigEntry.Category("messages") @ConfigEntry.Gui.TransitiveObject - public final Messages messages = new Messages(); + public Messages messages = new Messages(); @ConfigEntry.Category("richPresence") @ConfigEntry.Gui.TransitiveObject - public final RichPresence richPresence = new RichPresence(); + public RichPresence richPresence = new RichPresence(); public static class QuickNav { - public final boolean enableQuickNav = true; + public boolean enableQuickNav = true; @ConfigEntry.Category("button1") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); + public QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); @ConfigEntry.Category("button2") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button2 = new QuickNavItem(true, new ItemData("painting"), "Collections", "/collection"); + public QuickNavItem button2 = new QuickNavItem(true, new ItemData("painting"), "Collections", "/collection"); @ConfigEntry.Category("button3") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button3 = new QuickNavItem(true, new ItemData("bone"), "\\(\\d+/\\d+\\) Pets", "/pets"); + public QuickNavItem button3 = new QuickNavItem(true, new ItemData("bone"), "\\(\\d+/\\d+\\) Pets", "/pets"); @ConfigEntry.Category("button4") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button4 = new QuickNavItem(true, new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]/2\\)", "/wardrobe"); + public QuickNavItem button4 = new QuickNavItem(true, new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]/2\\)", "/wardrobe"); @ConfigEntry.Category("button5") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button5 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;-2081424676,-57521078,-2073572414,158072763],Properties:{textures:[{Value:\"ewogICJ0aW1lc3RhbXAiIDogMTU5MTMxMDU4NTYwOSwKICAicHJvZmlsZUlkIiA6ICI0MWQzYWJjMmQ3NDk0MDBjOTA5MGQ1NDM0ZDAzODMxYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJNZWdha2xvb24iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODBhMDc3ZTI0OGQxNDI3NzJlYTgwMDg2NGY4YzU3OGI5ZDM2ODg1YjI5ZGFmODM2YjY0YTcwNjg4MmI2ZWMxMCIKICAgIH0KICB9Cn0=\"}]}}}"), "Sack of Sacks", "/sacks"); + public QuickNavItem button5 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;-2081424676,-57521078,-2073572414,158072763],Properties:{textures:[{Value:\"ewogICJ0aW1lc3RhbXAiIDogMTU5MTMxMDU4NTYwOSwKICAicHJvZmlsZUlkIiA6ICI0MWQzYWJjMmQ3NDk0MDBjOTA5MGQ1NDM0ZDAzODMxYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJNZWdha2xvb24iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODBhMDc3ZTI0OGQxNDI3NzJlYTgwMDg2NGY4YzU3OGI5ZDM2ODg1YjI5ZGFmODM2YjY0YTcwNjg4MmI2ZWMxMCIKICAgIH0KICB9Cn0=\"}]}}}"), "Sack of Sacks", "/sacks"); @ConfigEntry.Category("button6") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), "Storage", "/storage"); + public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), "Storage", "/storage"); @ConfigEntry.Category("button7") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button7 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}"), "none", "/hub"); + public QuickNavItem button7 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}"), "none", "/hub"); @ConfigEntry.Category("button8") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button8 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;1605800870,415127827,-1236127084,15358548],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MWQ1YjI3M2ZmMGJjNTBjOTYwYjJjZDg2ZWVmMWM0MGExYjk0MDMyYWU3MWU3NTQ3NWE1NjhhODI1NzQyMSJ9fX0=\"}]}}}"), "none", "/warp dungeon_hub"); + public QuickNavItem button8 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;1605800870,415127827,-1236127084,15358548],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MWQ1YjI3M2ZmMGJjNTBjOTYwYjJjZDg2ZWVmMWM0MGExYjk0MDMyYWU3MWU3NTQ3NWE1NjhhODI1NzQyMSJ9fX0=\"}]}}}"), "none", "/warp dungeon_hub"); @ConfigEntry.Category("button9") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button9 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;1860483573,1726564425,-1428231295,-436665521],Properties:{textures:[{\"Signature\":\"vqNpEahIthHsm+Rgy9CPR01fzqdkhpnKeUNvZS7EktFZJu1T9MTpel5/KEL/sKFcmt+RAJJ9uLEwosF5fsb97A1TBnSbRwkfl/RUExO5F0EoV9+4L2wN/VGmOnjmXssqjfl9GsXPInJhhaAPcvZtmriRrznJez/JWzITjLEdBCbzKwBHqVu6Qa6zeD9N93LxVUEYYxKaULgTXkdpsxV2dl486ZJIhUKomp/KtWQrK77q2kfTsS8fWyiI/FeeSiWAE53okIkug3Tejj8UbzOGmPr43l99TMy+cWMREsCrfGmGJ0oKURTBy0n1l8E9GcfEGQLLaPrrOKUyBtOSAildnl2/yMEVRg+IYQ1ro91t+RMfNhsZOoH19ijCp4JH74J4xbd4CUn4Nb/CyxXrJUAenj4RLB7dEsiR0EU3rLS6wMZvr3h7QxZqFPPZ9UD7iF6GQ+HKQNOz47GaWFlw7g0AK/h0h8odUH6yvX6gsYGhc3EYII4czSKmFVgiEXdV4MP8rWlSrkqRpFyMByzNAjq2z6RL4F/NZdT9ZCuifdBjbBIBvARsMJ0VuTSGyfHXW0qB5d7Wn2GPKnPMX/AHWM/938knYe3ECwh/2AcywewXKwr/qflU0V+U1rY7XGpQTO7jRDs8o0XBIT7arlxw/McleXdkWQoELQcU17pM4TB16Fw=\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY3NjcyMDcxOTU5MywKICAicHJvZmlsZUlkIiA6ICI2ZWU0YjlmNTY2ZTk0ODQ5YWFkZWViODFlNWY5MDM0ZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJwcnRsIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2I1ZGY1NTU5MjY0MzBkNWQ3NWFkZWQyMWRkOTYxOWI3NmM1YjdjYTJjN2Y1NDAxNDQwNTIzZDUzYThiY2ZhYWIiCiAgICB9CiAgfQp9=\"}]}}}"), "Visit prtl", "/visit prtl"); + public QuickNavItem button9 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;1860483573,1726564425,-1428231295,-436665521],Properties:{textures:[{\"Signature\":\"vqNpEahIthHsm+Rgy9CPR01fzqdkhpnKeUNvZS7EktFZJu1T9MTpel5/KEL/sKFcmt+RAJJ9uLEwosF5fsb97A1TBnSbRwkfl/RUExO5F0EoV9+4L2wN/VGmOnjmXssqjfl9GsXPInJhhaAPcvZtmriRrznJez/JWzITjLEdBCbzKwBHqVu6Qa6zeD9N93LxVUEYYxKaULgTXkdpsxV2dl486ZJIhUKomp/KtWQrK77q2kfTsS8fWyiI/FeeSiWAE53okIkug3Tejj8UbzOGmPr43l99TMy+cWMREsCrfGmGJ0oKURTBy0n1l8E9GcfEGQLLaPrrOKUyBtOSAildnl2/yMEVRg+IYQ1ro91t+RMfNhsZOoH19ijCp4JH74J4xbd4CUn4Nb/CyxXrJUAenj4RLB7dEsiR0EU3rLS6wMZvr3h7QxZqFPPZ9UD7iF6GQ+HKQNOz47GaWFlw7g0AK/h0h8odUH6yvX6gsYGhc3EYII4czSKmFVgiEXdV4MP8rWlSrkqRpFyMByzNAjq2z6RL4F/NZdT9ZCuifdBjbBIBvARsMJ0VuTSGyfHXW0qB5d7Wn2GPKnPMX/AHWM/938knYe3ECwh/2AcywewXKwr/qflU0V+U1rY7XGpQTO7jRDs8o0XBIT7arlxw/McleXdkWQoELQcU17pM4TB16Fw=\",Value:\"ewogICJ0aW1lc3RhbXAiIDogMTY3NjcyMDcxOTU5MywKICAicHJvZmlsZUlkIiA6ICI2ZWU0YjlmNTY2ZTk0ODQ5YWFkZWViODFlNWY5MDM0ZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJwcnRsIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2I1ZGY1NTU5MjY0MzBkNWQ3NWFkZWQyMWRkOTYxOWI3NmM1YjdjYTJjN2Y1NDAxNDQwNTIzZDUzYThiY2ZhYWIiCiAgICB9CiAgfQp9=\"}]}}}"), "Visit prtl", "/visit prtl"); @ConfigEntry.Category("button10") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button10 = new QuickNavItem(true, new ItemData("enchanting_table"), "Enchant Item", "/etable"); + public QuickNavItem button10 = new QuickNavItem(true, new ItemData("enchanting_table"), "Enchant Item", "/etable"); @ConfigEntry.Category("button11") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button11 = new QuickNavItem(true, new ItemData("anvil"), "Anvil", "/anvil"); + public QuickNavItem button11 = new QuickNavItem(true, new ItemData("anvil"), "Anvil", "/anvil"); @ConfigEntry.Category("button12") @ConfigEntry.Gui.CollapsibleObject() - public final QuickNavItem button12 = new QuickNavItem(true, new ItemData("crafting_table"), "Craft Item", "/craft"); + public QuickNavItem button12 = new QuickNavItem(true, new ItemData("crafting_table"), "Craft Item", "/craft"); } public static class QuickNavItem { @@ -93,14 +93,14 @@ public class SkyblockerConfig implements ConfigData { this.uiTitle = uiTitle; } - public final Boolean render; + public Boolean render; @ConfigEntry.Category("item") @ConfigEntry.Gui.CollapsibleObject() - public final ItemData item; + public ItemData item; - public final String uiTitle; - public final String clickEvent; + public String uiTitle; + public String clickEvent; } public static class ItemData { @@ -116,55 +116,55 @@ public class SkyblockerConfig implements ConfigData { this.nbt = ""; } - public final String itemName; - public final int count; - public final String nbt; + public String itemName; + public int count; + public String nbt; } public static class General { - public final boolean enableUpdateNotification = true; - public final boolean backpackPreviewWithoutShift = false; + public boolean enableUpdateNotification = true; + public boolean backpackPreviewWithoutShift = false; @ConfigEntry.Gui.Excluded public String apiKey; @ConfigEntry.Category("bars") @ConfigEntry.Gui.CollapsibleObject() - public final Bars bars = new Bars(); + public Bars bars = new Bars(); @ConfigEntry.Category("itemList") @ConfigEntry.Gui.CollapsibleObject() - public final ItemList itemList = new ItemList(); + public ItemList itemList = new ItemList(); @ConfigEntry.Category("itemTooltip") @ConfigEntry.Gui.CollapsibleObject() - public final ItemTooltip itemTooltip = new ItemTooltip(); + public ItemTooltip itemTooltip = new ItemTooltip(); @ConfigEntry.Category("hitbox") @ConfigEntry.Gui.CollapsibleObject() - public final Hitbox hitbox = new Hitbox(); + public Hitbox hitbox = new Hitbox(); @ConfigEntry.Gui.Excluded - public final List<Integer> lockedSlots = new ArrayList<>(); + public List<Integer> lockedSlots = new ArrayList<>(); } public static class Bars { - public final boolean enableBars = true; + public boolean enableBars = true; @ConfigEntry.Category("barpositions") @ConfigEntry.Gui.CollapsibleObject() - public final BarPositions barpositions = new BarPositions(); + public BarPositions barpositions = new BarPositions(); } public static class BarPositions { @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final BarPosition healthBarPosition = BarPosition.LAYER1; + public BarPosition healthBarPosition = BarPosition.LAYER1; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final BarPosition manaBarPosition = BarPosition.LAYER1; + public BarPosition manaBarPosition = BarPosition.LAYER1; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final BarPosition defenceBarPosition = BarPosition.LAYER1; + public BarPosition defenceBarPosition = BarPosition.LAYER1; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final BarPosition experienceBarPosition = BarPosition.LAYER1; + public BarPosition experienceBarPosition = BarPosition.LAYER1; } @@ -195,21 +195,21 @@ public class SkyblockerConfig implements ConfigData { } public static class Hitbox { - public final boolean oldFarmlandHitbox = true; - public final boolean oldLeverHitbox = false; + public boolean oldFarmlandHitbox = true; + public boolean oldLeverHitbox = false; } public static class RichPresence { - public final boolean enableRichPresence = false; + public boolean enableRichPresence = false; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) @ConfigEntry.Gui.Tooltip() - public final Info info = Info.LOCATION; - public final boolean cycleMode = false; - public String customMessage; + public Info info = Info.LOCATION; + public boolean cycleMode = false; + public String customMessage = "Playing Skyblock"; } public static class ItemList { - public final boolean enableItemList = true; + public boolean enableItemList = true; } public enum Average { @@ -228,79 +228,79 @@ public class SkyblockerConfig implements ConfigData { } public static class ItemTooltip { - public final boolean enableNPCPrice = true; - public final boolean enableAvgBIN = true; + public boolean enableNPCPrice = true; + public boolean enableAvgBIN = true; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) @ConfigEntry.Gui.Tooltip() - public final Average avg = Average.THREE_DAY; - public final boolean enableLowestBIN = true; - public final boolean enableBazaarPrice = true; - public final boolean enableMuseumDate = true; + public Average avg = Average.THREE_DAY; + public boolean enableLowestBIN = true; + public boolean enableBazaarPrice = true; + public boolean enableMuseumDate = true; } public static class Locations { @ConfigEntry.Category("dungeons") @ConfigEntry.Gui.CollapsibleObject() - public final Dungeons dungeons = new Dungeons(); + public Dungeons dungeons = new Dungeons(); @ConfigEntry.Category("dwarvenmines") @ConfigEntry.Gui.CollapsibleObject() - public final DwarvenMines dwarvenMines = new DwarvenMines(); + public DwarvenMines dwarvenMines = new DwarvenMines(); } public static class Dungeons { @ConfigEntry.Gui.Tooltip() - public final boolean croesusHelper = true; - public final boolean enableMap = true; - public final boolean solveThreeWeirdos = true; - public final boolean blazesolver = true; - public final boolean solveTrivia = true; + public boolean croesusHelper = true; + public boolean enableMap = true; + public boolean solveThreeWeirdos = true; + public boolean blazesolver = true; + public boolean solveTrivia = true; @ConfigEntry.Gui.CollapsibleObject() - public final Terminals terminals = new Terminals(); + public Terminals terminals = new Terminals(); } public static class Terminals { - public final boolean solveColor = true; - public final boolean solveOrder = true; - public final boolean solveStartsWith = true; + public boolean solveColor = true; + public boolean solveOrder = true; + public boolean solveStartsWith = true; } public static class DwarvenMines { - public final boolean enableDrillFuel = true; - public final boolean solveFetchur = true; - public final boolean solvePuzzler = true; + public boolean enableDrillFuel = true; + public boolean solveFetchur = true; + public boolean solvePuzzler = true; @ConfigEntry.Gui.CollapsibleObject() - public final DwarvenHud dwarvenHud = new DwarvenHud(); + public DwarvenHud dwarvenHud = new DwarvenHud(); } public static class DwarvenHud { - public final boolean enabled = true; - public final boolean enableBackground = true; + public boolean enabled = true; + public boolean enableBackground = true; public int x = 10; public int y = 10; } public static class Messages { @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final ChatFilterResult hideAbility = ChatFilterResult.PASS; + public ChatFilterResult hideAbility = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final ChatFilterResult hideHeal = ChatFilterResult.PASS; + public ChatFilterResult hideHeal = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final ChatFilterResult hideAOTE = ChatFilterResult.PASS; + public ChatFilterResult hideAOTE = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final ChatFilterResult hideImplosion = ChatFilterResult.PASS; + public ChatFilterResult hideImplosion = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; + public ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final ChatFilterResult hideAds = ChatFilterResult.PASS; + public ChatFilterResult hideAds = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; + public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final ChatFilterResult hideCombo = ChatFilterResult.PASS; + public ChatFilterResult hideCombo = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public final ChatFilterResult hideAutopet = ChatFilterResult.PASS; + public ChatFilterResult hideAutopet = ChatFilterResult.PASS; @ConfigEntry.Gui.Tooltip() - public final boolean hideMana = false; + public boolean hideMana = false; } public enum Info { diff --git a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java index 87405989..10b88ce8 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java @@ -11,52 +11,51 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.text.DecimalFormat; -import java.time.Instant; public class DiscordRPCManager { public static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("###,###.##"); - public static final Logger LOGGER = LoggerFactory.getLogger(DiscordRPCManager.class.getName()); + public static final Logger LOGGER = LoggerFactory.getLogger("Skyblocker Discord RPC"); public static long startTimeStamp; public static int cycleCount; public static void init(){ SkyblockEvents.LEAVE.register(DiscordIPC::stop); + SkyblockEvents.JOIN.register(() -> { + startTimeStamp = System.currentTimeMillis(); + if (DiscordIPC.start(934607927837356052L, null)) { + DiscordIPC.setActivity(buildPresence()); + LOGGER.info("Discord RPC started"); + } else { + LOGGER.error("Discord RPC failed to start"); + } + }); } - public void update(){ - if (SkyblockerConfig.get().richPresence.customMessage != null ) { - if (SkyblockerConfig.get().richPresence.customMessage.isBlank()) { - SkyblockerConfig.get().richPresence.customMessage = "All on Fabric!"; - AutoConfig.getConfigHolder(SkyblockerConfig.class).save(); - } + public static void update(){ + // If the custom message is empty, discord will keep the last message, this is can serve as a default if the user doesn't want a custom message + if (SkyblockerConfig.get().richPresence.customMessage.isEmpty()) { + SkyblockerConfig.get().richPresence.customMessage = "Playing Skyblock"; + AutoConfig.getConfigHolder(SkyblockerConfig.class).save(); } - if (!SkyblockerConfig.get().richPresence.enableRichPresence || !Utils.isOnSkyblock){ - if (DiscordIPC.isConnected()) DiscordIPC.stop(); - } - if (SkyblockerConfig.get().richPresence.enableRichPresence && Utils.isOnSkyblock && !DiscordIPC.isConnected()){ - if (!DiscordIPC.start(934607927837356052L, () -> { - LOGGER.info("Started up rich presence"); - startTimeStamp = Instant.now().getEpochSecond(); - })){ - LOGGER.info("An error occurred while attempting to connect to discord"); - return; - } + if ((!Utils.isOnSkyblock || !SkyblockerConfig.get().richPresence.enableRichPresence) && DiscordIPC.isConnected()){ + DiscordIPC.stop(); + LOGGER.info("Discord RPC stopped"); + return; } - if (SkyblockerConfig.get().richPresence.cycleMode) - cycleCount = (cycleCount + 1) % 3; - buildPresence(); + if (SkyblockerConfig.get().richPresence.cycleMode) cycleCount = (cycleCount + 1) % 3; + DiscordIPC.setActivity(buildPresence()); } - public void buildPresence(){ + public static RichPresence buildPresence(){ RichPresence presence = new RichPresence(); presence.setLargeImage("skyblocker-default", null); presence.setStart(startTimeStamp); presence.setDetails(SkyblockerConfig.get().richPresence.customMessage); presence.setState(getInfo()); - DiscordIPC.setActivity(presence); + return presence; } - public String getInfo(){ + public static String getInfo(){ String info = null; if (!SkyblockerConfig.get().richPresence.cycleMode){ switch (SkyblockerConfig.get().richPresence.info){ diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java index 9e4b609f..a2809712 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java @@ -1,64 +1,67 @@ package me.xmrvizzy.skyblocker.utils; -import com.google.gson.*; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; import me.xmrvizzy.skyblocker.SkyblockerMod; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.MinecraftClient; -import net.minecraft.text.*; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.HoverEvent; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; import org.spongepowered.asm.util.VersionNumber; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.util.concurrent.CompletableFuture; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UpdateChecker { - public static boolean shouldUpdate = false; - public static final Pattern pattern = Pattern.compile("v(\\d+)\\.(\\d+)\\.(\\d+)"); - public static final Pattern localPattern = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)"); + public static final Pattern pattern = Pattern.compile("v(.*)\\+.*"); + public static final Pattern localPattern = Pattern.compile("(.*)\\+.*"); public static Matcher matcher; - public static VersionNumber localVersion = null; - public static VersionNumber latestVersion = null; - public static boolean shouldUpdate(){ - if (SkyblockerConfig.get().general.enableUpdateNotification){ - new Thread(() -> { - try{ - URL url = new URL("https://api.modrinth.com/v2/project/skyblocker-liap/version"); + private static VersionNumber latestVersion = null; + private static VersionNumber localVersion = null; + public static void shouldUpdate(){ + if (!SkyblockerConfig.get().general.enableUpdateNotification) return; + try { + URI uri = new URI("https://api.modrinth.com/v2/project/skyblocker-liap/version"); + HttpRequest request = HttpRequest.newBuilder(uri).GET().build(); + CompletableFuture<HttpResponse<String>> response = HttpClient.newHttpClient().sendAsync(request, HttpResponse.BodyHandlers.ofString()); + response.thenAccept(httpResponse -> { + JsonObject versionJson = new Gson().fromJson(httpResponse.body(), JsonElement.class).getAsJsonArray().get(0).getAsJsonObject(); + matcher = pattern.matcher(versionJson.get("version_number").getAsString()); + if (matcher.find()) { + latestVersion = VersionNumber.parse(matcher.group(1)); + } + matcher = localPattern.matcher(FabricLoader.getInstance().getModContainer(SkyblockerMod.NAMESPACE).get().getMetadata().getVersion().getFriendlyString()); + if (matcher.find()) { + localVersion = VersionNumber.parse(matcher.group(1)); + } + if (latestVersion != null && localVersion != null) { + if (localVersion.compareTo(latestVersion) < 0) { + MutableText linkMessage = Text.translatable("skyblocker.update.update_message"); + MutableText linkMessageEnding = Text.translatable("skyblocker.update.update_message_end"); + MutableText link = Text.translatable("skyblocker.update.update_link"); + MutableText hoverText = Text.translatable("skyblocker.update.hover_text"); + linkMessage.append(link.styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://modrinth.com/mod/skyblocker-liap/versions")).withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverText)))).append(linkMessageEnding); - InputStreamReader reader = new InputStreamReader(url.openStream()); - JsonObject versionJson = new Gson().fromJson(reader, JsonElement.class).getAsJsonArray().get(0).getAsJsonObject(); - matcher = pattern.matcher(versionJson.get("version_number").getAsString()); - if (matcher.find()){ - latestVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); - } - matcher = localPattern.matcher(FabricLoader.getInstance().getModContainer(SkyblockerMod.NAMESPACE).get().getMetadata().getVersion().getFriendlyString()); - if (matcher.find()){ - localVersion = VersionNumber.parse(matcher.group(1) + "." + matcher.group(2) + "." + matcher.group(3)); + MinecraftClient.getInstance().player.sendMessage(linkMessage, false); } - if (localVersion != null && latestVersion != null) - if (localVersion.compareTo(latestVersion) < 0) shouldUpdate = true; - - } catch (IOException e) { - e.printStackTrace(); } - }).start(); + }); + } catch (URISyntaxException e) { + e.printStackTrace(); } - return shouldUpdate; } public static void init(){ - SkyblockEvents.JOIN.register(() -> { - if (shouldUpdate()) { - MutableText linkMessage = Text.translatable("skyblocker.update.update_message"); - MutableText linkMessageEnding = Text.translatable("skyblocker.update.update_message_end"); - MutableText link = Text.translatable("skyblocker.update.update_link"); - MutableText hoverText = Text.translatable("skyblocker.update.hover_text"); - linkMessage.append(link.styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://modrinth.com/mod/skyblocker-liap/versions")).withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverText)))).append(linkMessageEnding); - - MinecraftClient.getInstance().player.sendMessage(linkMessage, false); - } - }); + SkyblockEvents.JOIN.register(UpdateChecker::shouldUpdate); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java index d9389b58..532de0dd 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java @@ -31,18 +31,19 @@ public class Utils { String string = sidebar.toString(); if (sidebar.isEmpty()) return; - if (sidebar.get(0).contains("SKYBLOCK") && !isOnSkyblock) { - if (!isInjected) { - isInjected = true; - ItemTooltipCallback.EVENT.register(PriceInfoTooltip::onInjectTooltip); + if (sidebar.get(0).contains("SKYBLOCK") || sidebar.get(0).contains("SKIBLOCK")) { + if (!isOnSkyblock) { + if (!isInjected) { + isInjected = true; + ItemTooltipCallback.EVENT.register(PriceInfoTooltip::onInjectTooltip); + } + SkyblockEvents.JOIN.invoker().onSkyblockJoin(); + isOnSkyblock = true; } - SkyblockEvents.JOIN.invoker().onSkyblockJoin(); - isOnSkyblock = true; - } - if (!sidebar.get(0).contains("SKYBLOCK") && isOnSkyblock) { + } else if (isOnSkyblock) { SkyblockEvents.LEAVE.invoker().onSkyblockLeave(); - Utils.isOnSkyblock = false; - Utils.isInDungeons = false; + isOnSkyblock = false; + isInDungeons = false; } isInDungeons = isOnSkyblock && string.contains("The Catacombs"); } |