aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle4
-rw-r--r--gradle.properties22
-rw-r--r--src/gametest/resources/templates/skyblocker_render.pngbin629370 -> 633763 bytes
-rw-r--r--src/main/java/de/hysky/skyblocker/UpdateNotifications.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/config/CodecTypeAdapter.java28
-rw-r--r--src/main/java/de/hysky/skyblocker/config/HudConfigScreen.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/config/datafixer/ConfigFix1.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/config/screens/powdertracker/PowderFilterConfigScreen.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/debug/Debug.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/ClientPlayerEntityMixin.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/EntityRenderDispatcherMixin.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/EntityRendererMixin.java25
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/GlResourceManagerMixin.java25
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java9
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java19
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/RenderLayerMultiPhaseMixin.java20
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/RenderPhaseDepthTestMixin.java45
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/RenderPipelineMixin.java20
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/WorldRendererMixin.java12
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/accessors/BeaconBlockEntityRendererInvoker.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/accessors/DrawContextInvoker.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/HealthBars.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/NightVisionCommand.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/SmoothAOTE.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/Tips.java26
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chat/ChatPositionShare.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chat/ConfirmationPromptHelper.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/EggFinder.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ControlTestHelper.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ForceTestHelper.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java11
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CorpseFinder.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/WishingCompassSolver.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/profittrackers/corpse/CorpseProfitTracker.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/events/greatspook/MathTeacherHelper.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/HotbarSlotLock.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/MuseumItemCache.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/SkyblockInventoryScreen.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/AttributeShardAdder.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/NewYearCakeAdder.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PrehistoricEggAdder.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/BackpackPreview.java25
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/CompactorDeletorPreview.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/DungeonQualityTooltip.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/MuseumTooltip.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/ObtainedDateTooltip.java11
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/StackingEnchantProgressTooltip.java9
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/Inventory.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/PlayerInventory.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/profileviewer/inventory/itemLoaders/ItemLoader.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComponentBasedWidget.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/HudWidget.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/waypoint/Waypoints.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/ItemUtils.java76
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/datafixer/ItemStackComponentizationFixer.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/datafixer/LegacyItemStackFixer.java15
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/datafixer/LegacyStringNbtReader.java272
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/networth/SkyblockItemMetadataRetriever.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java27
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderLayers.java55
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/SkyblockerRenderPipelines.java44
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/gui/AbstractPopupScreen.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/waypoint/WaypointGroup.java27
-rw-r--r--src/main/resources/fabric.mod.json8
-rw-r--r--src/main/resources/skyblocker.accesswidener7
-rw-r--r--src/main/resources/skyblocker.mixins.json5
-rw-r--r--src/test/java/de/hysky/skyblocker/utils/ItemUtilsTest.java13
-rw-r--r--src/test/java/de/hysky/skyblocker/utils/datafixer/ItemStackComponentizationFixerTest.java8
-rw-r--r--src/test/java/de/hysky/skyblocker/utils/waypoint/WaypointsTest.java2
-rw-r--r--src/test/resources/assets/skyblocker/config/skyblocker-v2.json4
-rw-r--r--src/test/resources/assets/skyblocker/config/skyblocker-v3.json4
95 files changed, 722 insertions, 443 deletions
diff --git a/build.gradle b/build.gradle
index 84147e89..4ba570b6 100644
--- a/build.gradle
+++ b/build.gradle
@@ -162,7 +162,9 @@ dependencies {
modImplementation "com.terraformersmc:modmenu:${project.mod_menu_version}"
// REI
- modCompileOnly "me.shedaniel:RoughlyEnoughItems-api-fabric:${project.rei_version}"
+ modCompileOnly("me.shedaniel:RoughlyEnoughItems-api-fabric:${project.rei_version}") {
+ exclude group: "net.fabricmc.fabric-api" //Stop this from importing an old version of FAPI that crashes everything
+ }
//modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}"
// EMI
diff --git a/gradle.properties b/gradle.properties
index 7e8c4967..3f7a4624 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -2,24 +2,24 @@ org.gradle.jvmargs=-Xmx1G -Dfile.encoding=UTF-8 -Duser.language=en -Duser.countr
org.gradle.parallel=true
# Fabric Properties (https://fabricmc.net/versions.html)
-## 1.21.4
-minecraft_version=1.21.4
-yarn_mappings=1.21.4+build.8
+## 1.21.5
+minecraft_version=1.21.5
+yarn_mappings=1.21.5+build.1
loader_version=0.16.10
#Fabric api
-## 1.21.4
-fabric_api_version=0.117.0+1.21.4
+## 1.21.5
+fabric_api_version=0.119.5+1.21.5
# Minecraft Mods
## YACL (https://github.com/isXander/YetAnotherConfigLib)
-yacl_version=3.6.2+1.21.4
+yacl_version=3.6.6+1.21.5
## HM API (https://github.com/AzureAaron/hm-api)
hm_api_version=1.0.1+1.21.2
## Mod Menu (https://modrinth.com/mod/modmenu/versions)
-mod_menu_version = 13.0.0
+mod_menu_version = 14.0.0-beta.2
## REI (https://modrinth.com/mod/rei/versions?l=fabric)
-rei_version = 17.0.789
+rei_version = 18.0.800
## EMI (https://modrinth.com/mod/emi/versions)
emi_version = 1.1.10+1.21
## JEI (https://modrinth.com/mod/jei/versions)
@@ -35,15 +35,15 @@ repoparser_version = 1.6.0
## Networth Calculator (https://github.com/AzureAaron/networth-calculator)
networth_calculator_version = 1.0.5
## Legacy Item DFU (https://github.com/AzureAaron/legacy-item-dfu)
-legacy_item_dfu_version = 1.0.2+1.21.3
+legacy_item_dfu_version = 1.0.3+1.21.5
# Other Libraries
## JGit (https://mvnrepository.com/artifact/org.eclipse.jgit/org.eclipse.jgit)
-jgit_version = 7.0.0.202409031743-r
+jgit_version = 7.1.0.202411261347-r
## Apache Commons Math (https://mvnrepository.com/artifact/org.apache.commons/commons-math3)
commons_math_version = 3.6.1
## Apache Commons Text (https://mvnrepository.com/artifact/org.apache.commons/commons-text)
-commons_text_version = 1.12.0
+commons_text_version = 1.13.0
# Mod Properties
mod_version = 5.1.2
diff --git a/src/gametest/resources/templates/skyblocker_render.png b/src/gametest/resources/templates/skyblocker_render.png
index d603a577..67dbacd7 100644
--- a/src/gametest/resources/templates/skyblocker_render.png
+++ b/src/gametest/resources/templates/skyblocker_render.png
Binary files differ
diff --git a/src/main/java/de/hysky/skyblocker/UpdateNotifications.java b/src/main/java/de/hysky/skyblocker/UpdateNotifications.java
index 00ae9ac0..4f9deef0 100644
--- a/src/main/java/de/hysky/skyblocker/UpdateNotifications.java
+++ b/src/main/java/de/hysky/skyblocker/UpdateNotifications.java
@@ -2,6 +2,7 @@ package de.hysky.skyblocker;
import java.io.BufferedReader;
import java.io.BufferedWriter;
+import java.net.URI;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
@@ -104,7 +105,7 @@ public class UpdateNotifications {
Text versionText = Text.literal(newVersion.name()).styled(style -> style
.withFormatting(Formatting.GRAY)
.withUnderline(true)
- .withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, downloadLink)));
+ .withClickEvent(new ClickEvent.OpenUrl(URI.create(downloadLink))));
CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.updateNotifications.newUpdateMessage", versionText)), false);
SystemToast.add(CLIENT.getToastManager(), TOAST_TYPE, Text.translatable("skyblocker.updateNotifications.newUpdateToast.title"), Text.stringifiedTranslatable("skyblocker.updateNotifications.newUpdateToast.description", newVersion.version()));
diff --git a/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
index 7820dfa4..2af8860e 100644
--- a/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
@@ -1,6 +1,8 @@
package de.hysky.skyblocker.compatibility;
import net.fabricmc.loader.api.FabricLoader;
+
+import org.apache.commons.lang3.SystemUtils;
import org.objectweb.asm.tree.ClassNode;
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
@@ -23,8 +25,12 @@ public class MixinPlugin implements IMixinConfigPlugin {
@Override
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
- //OptiFabric Compatibility
- return !mixinClassName.endsWith("WorldRendererMixin") || !OPTIFABRIC_LOADED;
+ return switch (mixinClassName) {
+ case String s when s.endsWith("WorldRendererMixin") -> !OPTIFABRIC_LOADED;
+ case String s when s.endsWith("GlResourceManagerMixin") -> SystemUtils.IS_OS_MAC && "aarch64".equalsIgnoreCase(SystemUtils.OS_ARCH);
+
+ default -> true;
+ };
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/config/CodecTypeAdapter.java b/src/main/java/de/hysky/skyblocker/config/CodecTypeAdapter.java
new file mode 100644
index 00000000..27544703
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/CodecTypeAdapter.java
@@ -0,0 +1,28 @@
+package de.hysky.skyblocker.config;
+
+import java.lang.reflect.Type;
+
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;