diff options
| author | Serhan <serhanduzce@gmail.com> | 2022-06-16 12:34:35 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-16 12:34:35 +0300 |
| commit | 5f323aaf6f26aba3a2f33eea9ed88e1ee40cc4f9 (patch) | |
| tree | 856b91f6a6c8632b24ef05d1898c0ba1f847585b | |
| parent | 4afe31dca21b94c102099549800d4fa1cb1bbe6d (diff) | |
| parent | 6c268d4f5b5d9447d9cd7ca4cb5afe2066198c97 (diff) | |
| download | Skyblocker-5f323aaf6f26aba3a2f33eea9ed88e1ee40cc4f9.tar.gz Skyblocker-5f323aaf6f26aba3a2f33eea9ed88e1ee40cc4f9.tar.bz2 Skyblocker-5f323aaf6f26aba3a2f33eea9ed88e1ee40cc4f9.zip | |
Merge branch 'SkyblockerMod:master' into master
31 files changed, 848 insertions, 492 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index a9518344..df0fdc53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +# Release 1.8.0 + +New Feature +* Added support for moving fancy bars by @ADON15c in https://github.com/SkyblockerMod/Skyblocker/pull/72 +* Add option to use 1.8 farmland hitbox by @KonaeAkira in https://github.com/SkyblockerMod/Skyblocker/commit/678025b21af4d45518a382b546c14fb12f131114 +* multi-profile support for backpack preview by @KonaeAkira in https://github.com/SkyblockerMod/Skyblocker/commit/75918834349f1068557716142e342a7d01356040 + +Fixes +* Fix some items having the wrong texture by @KonaeAkira in https://github.com/SkyblockerMod/Skyblocker/pull/71 +* reparty one at a time by @KonaeAkira in https://github.com/SkyblockerMod/Skyblocker/commit/aa5cf6bb18e84d604880ef37f2bda7250feaad2e + +New Contributors +* @ADON15c made their first contribution in https://github.com/SkyblockerMod/Skyblocker/pull/72 + +**Full Changelog**: https://github.com/SkyblockerMod/Skyblocker/compare/v1.7.0...v1.8.0 +___ +# Release 1.7.0 + +New Feature +* Commission HUD by @TacoMonkey11 in https://github.com/SkyblockerMod/Skyblocker/pull/55 +* Rewrote status bars again by @ExternalTime in https://github.com/SkyblockerMod/Skyblocker/pull/68 + +Fixes +* Replace bootleg events with fabric api events by @TacoMonkey11 in https://github.com/SkyblockerMod/Skyblocker/pull/66 +* Replace DiscordIPC library with a more modern one by @TacoMonkey11 in https://github.com/SkyblockerMod/Skyblocker/pull/69 +* fixed crash on itemtooltip on legacy timestamps by @LifeIsAParadox +* Updated Trivia @LifeIsAParadox + +**Full Changelog**: https://github.com/SkyblockerMod/Skyblocker/compare/v1.6.3...v1.7.0 +___ # Release 1.6.3 Fixes diff --git a/FEATURES.md b/FEATURES.md index 4a057057..c2f2a287 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -1,4 +1,4 @@ -* Bars: Health and absorption, Mana, Defense, XP +* Bars: Health and absorption, Mana, Defense, XP (moving fancy bars) * Hide Messages: Ability Cooldown, Heal, AOTE, Implosion, Molten Wave, Teleport Pad Messages * Dungeon Minimap * Dungeon Puzzle Solver: @@ -15,4 +15,6 @@ * Quicknav: fast navigate between pets, armor, enderchest, skill, collection, crafting, enchant, envil, warp dungeon, warp hub * Recipe book: in the vanilla recipe book all skyblock items are listed and you can see the recipe of the item * Backpack preview: after you clicked your backpack or enderchest once you can hover over the backpack or enderchest and hold shift to preview -* Update notification
\ No newline at end of file +* Update notification +* Commission HUD: Dwarven Mines quests +* 1.8 hitbox for lever and farmland
\ No newline at end of file @@ -2,27 +2,27 @@ ## Skyblocker [](https://modrinth.com/mod/skyblocker-liap) -[](https://github.com/LifeIsAParadox/Skyblocker/releases/latest) -[](https://github.com/LifeIsAParadox/Skyblocker/actions/workflows/beta.yml) +[](https://github.com/SkyblockerMod/Skyblocker/releases/latest) +[](https://github.com/SkyblockerMod/Skyblocker/actions/workflows/beta.yml) [](https://discord.com/invite/aNNJHQykck) [](https://ko-fi.com/wohlhabend) -Hypixel Skyblock Mod for Minecraft 1.17.x + 1.18.x +Hypixel Skyblock Mod for Minecraft 1.17.x + 1.18.x + 1.19.x -Installation guide is [here](https://github.com/LifeIsAParadox/Skyblocker/wiki/installation) +Installation guide is [here](https://github.com/SkyblockerMod/Skyblocker/wiki/installation) ## Features <details open> <summary>open</summary> -* Bars: Health and absorption, Mana, Defense, XP +* Bars: Health and absorption, Mana, Defense, XP (moving fancy bars) * Hide Messages: Ability Cooldown, Heal, AOTE, Implosion, Molten Wave, Teleport Pad Messages * Dungeon Minimap * Dungeon Puzzle Solver: - * Three Weirdos - * Blaze - * F7 Terminal: Order, Color, Name + * Three Weirdos + * Blaze + * F7 Terminal: Order, Color, Name * Dwarven Mines Solver: Fetchur, Puzzler * Drill Fuel in Item Durability Bar * Hotbar Slot Lock Keybind (Select the hotbar slot you want to lock/unlock and press the lockbutton) @@ -34,6 +34,8 @@ Installation guide is [here](https://github.com/LifeIsAParadox/Skyblocker/wiki/i * Recipe book: in the vanilla recipe book all skyblock items are listed and you can see the recipe of the item * Backpack preview: after you clicked your backpack or enderchest once you can hover over the backpack or enderchest and hold shift to preview * Update notification +* Commission HUD: Dwarven Mines quests +* 1.8 hitbox for lever and farmland </details> @@ -42,7 +44,7 @@ ___ <details open> <summary>open</summary> -<img padding="10px,0px" height="150" src="https://hysky.de/hotbar.png" /> +<img padding="10px,0px" src="https://user-images.githubusercontent.com/27798256/170806938-f858f0ae-4d8b-4767-9b53-8fe5a65edf56.png" /> <img padding="10px,0px" height="150" src="https://hysky.de/minimap.png" /> <img padding="10px,0px" height="150" src="https://hysky.de/tooltip1.png" /> <img padding="10px,0px" height="150" src="https://hysky.de/tooltip2.png" /> @@ -63,10 +65,18 @@ Everyone can contribute to Skyblocker, read [this](https://github.com/Skyblocker ## Credits -| [<img alt="Kraineff" src="https://github.com/Kraineff.png" width="100">](https://github.com/Kraineff) | [<img alt="d3dx9" src="https://github.com/d3dx9.png" width="100">](https://github.com/d3dx9) | [<img alt="LifeIsAParadox" src="https://github.com/LifeIsAParadox.png" width="100">](https://github.com/LifeIsAParadox) | [<img alt="ExternalTime" src="https://github.com/ExternalTime.png" width="100">](https://github.com/ExternalTime) | [<img alt="Zailer43" src="https://github.com/Zailer43.png" width="100">](https://github.com/Zailer43) | [<img alt="TacoMonkey11" src="https://github.com/TacoMonkey11.png" width="100">](https://github.com/TacoMonkey11) | [<img alt="KonaeAkira" src="https://github.com/KonaeAkira.png" width="100">](https://github.com/KonaeAkira) | [<img alt="Fix3dll" src="https://github.com/Fix3dll.png" width="100">](https://github.com/Fix3dll) | -|:-------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------:| -| [Kraineff](https://github.com/Kraineff) | [d3dx9](https://github.com/d3dx9) | [LifeIsAParadox](https://github.com/LifeIsAParadox) | [ExternalTime](https://github.com/ExternalTime) | [Zailer43](https://github.com/Zailer43) | [TacoMonkey11](https://github.com/TacoMonkey11) | [KonaeAkira](https://github.com/KonaeAkira) | [Fix3dll](https://github.com/Fix3dll) | +| [<img alt="Kraineff" src="https://github.com/Kraineff.png" width="100">](https://github.com/Kraineff) | [<img alt="d3dx9" src="https://github.com/d3dx9.png" width="100">](https://github.com/d3dx9) | [<img alt="LifeIsAParadox" src="https://github.com/LifeIsAParadox.png" width="100">](https://github.com/LifeIsAParadox) | [<img alt="ExternalTime" src="https://github.com/ExternalTime.png" width="100">](https://github.com/ExternalTime) | +|:-------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:| +| [Kraineff](https://github.com/Kraineff) | [d3dx9](https://github.com/d3dx9) | [LifeIsAParadox](https://github.com/LifeIsAParadox) | [ExternalTime](https://github.com/ExternalTime) | +| [<img alt="Zailer43" src="https://github.com/Zailer43.png" width="100">](https://github.com/Zailer43) | [<img alt="TacoMonkey11" src="https://github.com/TacoMonkey11.png" width="100">](https://github.com/TacoMonkey11) | [<img alt="KonaeAkira" src="https://github.com/KonaeAkira.png" width="100">](https://github.com/KonaeAkira) | [<img alt="Fix3dll" src="https://github.com/Fix3dll.png" width="100">](https://github.com/Fix3dll) | +|:-----------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------:| +| [Zailer43](https://github.com/Zailer43) | [TacoMonkey11](https://github.com/TacoMonkey11) | [KonaeAkira](https://github.com/KonaeAkira) | [Fix3dll](https://github.com/Fix3dll) | + + +| [<img alt="Zailer43" src="https://github.com/ADON15c.png" width="100">](https://github.com/ADON15c) | +|:---------------------------------------------------------------------------------------------------:| +| [ADON15c](https://github.com/ADON15c) | ### Translators German ([LifeIsAParadox](https://github.com/LifeIsAParadox)) \ Indonesian ([null2264](https://github.com/null2264)) \ diff --git a/build.gradle b/build.gradle index 9e918bd7..4059ebbc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.11-SNAPSHOT' + id 'fabric-loom' version '0.12-SNAPSHOT' id 'maven-publish' id 'com.modrinth.minotaur' version '2.+' } @@ -28,7 +28,10 @@ repositories { url 'https://repo.maven.apache.org/maven2' name 'Maven Central' } - maven {url "https://maven.jaackson.me/repo"} + maven { + name = "meteor-maven" + url = "https://maven.meteordev.org" + } maven {url "https://jitpack.io"} } @@ -57,18 +60,9 @@ dependencies { // https://mvnrepository.com/artifact/org.eclipse.jgit/org.eclipse.jgit used pull data from the NEU item repo include(implementation("org.eclipse.jgit:org.eclipse.jgit:6.0.0.202111291000-r")) - //DiscordIPC + Libraries so it works on unix systems - modImplementation ("com.jagrosh:DiscordIPC:0.5") - - // https://github.com/jaacksondev/DiscordIPC - include "com.jagrosh:DiscordIPC:0.5" - - //https://github.com/kohlschutter/junixsocket discordrpc unix - include(modImplementation("com.kohlschutter.junixsocket:junixsocket-common:2.0.4")) - include(modImplementation("com.kohlschutter.junixsocket:junixsocket-native-common:2.0.4")) - + include(modImplementation ("meteordevelopment:discord-ipc:1.1")) // allow gson to deserialize the api data into a record - include(modImplementation("com.github.Marcono1234:gson-record-type-adapter-factory:0.2.0")) + include(implementation("com.github.Marcono1234:gson-record-type-adapter-factory:0.2.0")) } processResources { diff --git a/gradle.properties b/gradle.properties index d6eb2d06..d9473bd9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,7 +15,7 @@ clothconfig_version=6.2.57 mod_menu_version=3.1.0 # Mod Properties -mod_version = 1.6.3 +mod_version = 1.8.0 maven_group = me.xmrvizzy archives_base_name = skyblocker modrinth_id=y6DuFGwJ diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java index a15b3a96..e9af52f6 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java +++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java @@ -8,6 +8,7 @@ import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHud; import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip; import me.xmrvizzy.skyblocker.skyblock.item.WikiLookup; import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry; +import me.xmrvizzy.skyblocker.utils.UpdateChecker; import net.fabricmc.api.ClientModInitializer; public class SkyblockerInitializer implements ClientModInitializer { @@ -21,5 +22,7 @@ public class SkyblockerInitializer implements ClientModInitializer { StatsCommand.init(); DwarvenHud.init(); ChatMessageListener.init(); + UpdateChecker.init(); + SkyblockerMod.getInstance().discordRPCManager.init(); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java index f3c851f1..6b5558cf 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java +++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java @@ -3,6 +3,7 @@ package me.xmrvizzy.skyblocker; import me.xmrvizzy.skyblocker.container.ContainerSolverManager; import me.xmrvizzy.skyblocker.discord.DiscordRPCManager; import me.xmrvizzy.skyblocker.skyblock.BackpackPreview; +import me.xmrvizzy.skyblocker.skyblock.StatusBarTracker; import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonBlaze; import me.xmrvizzy.skyblocker.utils.Scheduler; import me.xmrvizzy.skyblocker.utils.Utils; @@ -14,12 +15,13 @@ 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(DungeonBlaze::update, 4); - scheduler.scheduleCyclic(BackpackPreview::tick, 100); + scheduler.scheduleCyclic(BackpackPreview::tick, 50); } public static SkyblockerMod getInstance() { diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 93e1d8e9..0a7260f8 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -37,28 +37,79 @@ public class SkyblockerConfig implements ConfigData { public String apiKey; @ConfigEntry.Category("bars") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) public Bars bars = new Bars(); @ConfigEntry.Category("itemList") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) public ItemList itemList = new ItemList(); @ConfigEntry.Category("quicknav") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) public Quicknav quicknav = new Quicknav(); @ConfigEntry.Category("itemTooltip") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) public ItemTooltip itemTooltip = new ItemTooltip(); + @ConfigEntry.Category("hitbox") + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) + public Hitbox hitbox = new Hitbox(); + @ConfigEntry.Gui.Excluded public List<Integer> lockedSlots = new ArrayList<>(); } public static class Bars { public boolean enableBars = true; + + @ConfigEntry.Category("barpositions") + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) + public BarPositions barpositions = new BarPositions(); + } + + public static class BarPositions { + @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) + public BarPosition healthBarPosition = BarPosition.LAYER1; + @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) + public BarPosition manaBarPosition = BarPosition.LAYER1; + @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) + public BarPosition defenceBarPosition = BarPosition.LAYER1; + @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) + public BarPosition experienceBarPosition = BarPosition.LAYER1; + } + + public enum BarPosition { + LAYER1, + LAYER2, + RIGHT, + NONE; + + public String toString() { + return switch (this) { + case LAYER1 -> "Layer 1"; + case LAYER2 -> "Layer 2"; + case RIGHT -> "Right"; + case NONE -> "Disabled"; + }; + } + + public int toInt() { + return switch (this) { + case LAYER1 -> 0; + case LAYER2 -> 1; + case RIGHT -> 2; + case NONE -> -1; + }; + } + } + + public static class Hitbox { + public boolean oldFarmlandHitbox = true; + public boolean oldLeverHitbox = false; + } + public static class RichPresence { public boolean enableRichPresence = false; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) @@ -103,11 +154,11 @@ public class SkyblockerConfig implements ConfigData { public static class Locations { @ConfigEntry.Category("dungeons") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) public Dungeons dungeons = new Dungeons(); @ConfigEntry.Category("dwarvenmines") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) public DwarvenMines dwarvenMines = new DwarvenMines(); } @@ -116,8 +167,7 @@ public class SkyblockerConfig implements ConfigData { public boolean solveThreeWeirdos = true; public boolean blazesolver = true; public boolean solveTrivia = true; - public boolean oldLevers = false; - @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) public Terminals terminals = new Terminals(); } @@ -131,7 +181,7 @@ public class SkyblockerConfig implements ConfigData { public boolean enableDrillFuel = true; public boolean solveFetchur = true; public boolean solvePuzzler = true; - @ConfigEntry.Gui.CollapsibleObject(startExpanded = true) + @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) public DwarvenHud dwarvenHud = new DwarvenHud(); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java index e13dfd09..87405989 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java @@ -1,101 +1,76 @@ package me.xmrvizzy.skyblocker.discord; -import com.google.gson.JsonObject; -import com.jagrosh.discordipc.IPCClient; -import com.jagrosh.discordipc.IPCListener; -import com.jagrosh.discordipc.entities.RichPresence; -import com.jagrosh.discordipc.entities.pipe.PipeStatus; + +import me.shedaniel.autoconfig.AutoConfig; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.utils.SkyblockEvents; import me.xmrvizzy.skyblocker.utils.Utils; +import meteordevelopment.discordipc.DiscordIPC; +import meteordevelopment.discordipc.RichPresence; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.text.DecimalFormat; -import java.time.OffsetDateTime; +import java.time.Instant; -public class DiscordRPCManager implements IPCListener{ - public static long startTimestamp; - public static IPCClient client; - public boolean isConnected; - private static final Logger LOGGER = LoggerFactory.getLogger(DiscordRPCManager.class.getName()); - public static DecimalFormat dFormat = new DecimalFormat("###,###.##"); - public int cycleCount = 0; +public class DiscordRPCManager { + public static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("###,###.##"); + public static final Logger LOGGER = LoggerFactory.getLogger(DiscordRPCManager.class.getName()); + public static long startTimeStamp; + public static int cycleCount; - public void update() { - if (!SkyblockerConfig.get().richPresence.enableRichPresence || !Utils.isOnSkyblock) { - if (isConnected) stop(); - return; - } - if (!isConnected) start(); - if (SkyblockerConfig.get().richPresence.cycleMode) - cycleCount = (cycleCount + 1) % 3; - updatePresence(); + public static void init(){ + SkyblockEvents.LEAVE.register(DiscordIPC::stop); } - public void start(){ - try { - LOGGER.info("[Skyblocker DiscordRPC] Starting..."); - startTimestamp = OffsetDateTime.now().toEpochSecond(); - client = new IPCClient(934607927837356052L); - client.setListener(this); - try { - client.connect(); - } catch (Exception e) { |
