aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2025-04-25 16:25:27 -0400
committerGitHub <noreply@github.com>2025-04-25 16:25:27 -0400
commitbf18fb9b0054177b3dee145d681c8ff1dd60418e (patch)
treefe7bf2a801644045d75982c714d28964f0a6bad7 /src/test/java
parent723cfecdbed263d3acd834404033e6c7df28c1e0 (diff)
downloadSkyblocker-bf18fb9b0054177b3dee145d681c8ff1dd60418e.tar.gz
Skyblocker-bf18fb9b0054177b3dee145d681c8ff1dd60418e.tar.bz2
Skyblocker-bf18fb9b0054177b3dee145d681c8ff1dd60418e.zip
1.21.5 (#1256)
* 1.21.5 * Test fixes and clean up * Update test screenshot * Record patterns * Performance optimization * Reset ordered waypoint index on world change (and stop serializing it) * Waypoints clean up and fixes (#1257) * Small waypoints clean up * Fix waypoints test codec field order * Safe config updates Rather than updating the values directly and then calling save, the mod will now handle this behaviour itself to ensure update consistency/visibility with the upcoming thread split. Most usages of the old method were converted but there are some left. --------- Co-authored-by: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>
Diffstat (limited to 'src/test/java')
-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
3 files changed, 15 insertions, 8 deletions
diff --git a/src/test/java/de/hysky/skyblocker/utils/ItemUtilsTest.java b/src/test/java/de/hysky/skyblocker/utils/ItemUtilsTest.java
index 101815ac..4cfd5fe5 100644
--- a/src/test/java/de/hysky/skyblocker/utils/ItemUtilsTest.java
+++ b/src/test/java/de/hysky/skyblocker/utils/ItemUtilsTest.java
@@ -2,11 +2,14 @@ package de.hysky.skyblocker.utils;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
+import com.mojang.serialization.Dynamic;
import com.mojang.serialization.JsonOps;
import de.hysky.skyblocker.skyblock.item.tooltip.adders.ObtainedDateTooltip;
import it.unimi.dsi.fastutil.ints.IntIntPair;
import net.minecraft.Bootstrap;
import net.minecraft.SharedConstants;
+import net.minecraft.datafixer.Schemas;
+import net.minecraft.datafixer.TypeReferences;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.BuiltinRegistries;
import net.minecraft.registry.RegistryOps;
@@ -35,7 +38,11 @@ public class ItemUtilsTest {
private final ItemStack WITHER_SKELETON_PET = create("{\"id\":\"minecraft:player_head\",\"count\":1,\"components\":{\"minecraft:lore\":[\"{\\\"extra\\\":[{\\\"color\\\":\\\"dark_gray\\\",\\\"text\\\":\\\"Mining Pet\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"Defense: \\\"},{\\\"color\\\":\\\"green\\\",\\\"text\\\":\\\"+25\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"Strength: \\\"},{\\\"color\\\":\\\"red\\\",\\\"text\\\":\\\"+25\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"Intelligence: \\\"},{\\\"color\\\":\\\"green\\\",\\\"text\\\":\\\"+25\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"Crit Chance: \\\"},{\\\"color\\\":\\\"red\\\",\\\"text\\\":\\\"+5%\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"Crit Damage: \\\"},{\\\"color\\\":\\\"red\\\",\\\"text\\\":\\\"+25%\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gold\\\",\\\"text\\\":\\\"Stronger Bones\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"\\\"},{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"Take \\\"},{\\\"color\\\":\\\"green\\\",\\\"text\\\":\\\"30% \\\"},{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"less damage from skeletons\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gold\\\",\\\"text\\\":\\\"Wither Blood\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"\\\"},{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"Deal \\\"},{\\\"color\\\":\\\"green\\\",\\\"text\\\":\\\"125% \\\"},{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"more damage to wither\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"mobs\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gold\\\",\\\"text\\\":\\\"Death\\u0027s Touch\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"\\\"},{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"Upon hitting an enemy inflict the\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"wither effect for \\\"},{\\\"color\\\":\\\"green\\\",\\\"text\\\":\\\"200% \\\"},{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"damage over\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"3 seconds\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"dark_gray\\\",\\\"text\\\":\\\"Does not stack\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gold\\\",\\\"text\\\":\\\"Held Item: \\\"},{\\\"color\\\":\\\"blue\\\",\\\"text\\\":\\\"Dwarf Turtle Shelmet\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"Makes the pet\\u0027s owner immune to\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"knockback.\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"bold\\\":true,\\\"color\\\":\\\"aqua\\\",\\\"text\\\":\\\"MAX LEVEL\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"dark_gray\\\",\\\"text\\\":\\\"▸ 29,079,797 XP\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"\\\"},{\\\"color\\\":\\\"red\\\",\\\"text\\\":\\\"Click to despawn!\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"\\\"},{\\\"color\\\":\\\"yellow\\\",\\\"text\\\":\\\"Shift Left-click to toggle as favorite!\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"{\\\"extra\\\":[{\\\"color\\\":\\\"yellow\\\",\\\"text\\\":\\\"Right-click to convert to an item!\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\"],\"minecraft:custom_name\":\"{\\\"extra\\\":[{\\\"color\\\":\\\"gray\\\",\\\"text\\\":\\\"[Lvl 100] \\\"},{\\\"color\\\":\\\"gold\\\",\\\"text\\\":\\\"Wither Skeleton\\\"}],\\\"italic\\\":false,\\\"text\\\":\\\"\\\"}\",\"minecraft:profile\":{\"name\":\"61eebdb5acf149e9\",\"id\":[1643036085,-1393473047,-1459445539,-328222031],\"properties\":[{\"name\":\"textures\",\"value\":\"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjVlYzk2NDY0NWE4ZWZhYzc2YmUyZjE2MGQ3Yzk5NTYzNjJmMzJiNjUxNzM5MGM1OWMzMDg1MDM0ZjA1MGNmZiJ9fX0\\u003d\"}]},\"minecraft:custom_data\":{\"petInfo\":\"{\\\"type\\\":\\\"WITHER_SKELETON\\\",\\\"active\\\":true,\\\"exp\\\":2.907979704591799E7,\\\"tier\\\":\\\"LEGENDARY\\\",\\\"hideInfo\\\":false,\\\"heldItem\\\":\\\"DWARF_TURTLE_SHELMET\\\",\\\"candyUsed\\\":0,\\\"uuid\\\":\\\"dcc730ef-2936-461c-b7ec-45a087baa44d\\\",\\\"uniqueId\\\":\\\"7e7270ec-0ff5-460d-8d14-430ea48b596f\\\",\\\"hideRightClick\\\":false,\\\"noMove\\\":false}\",\"uuid\":\"dcc730ef-2936-461c-b7ec-45a087baa44d\",\"id\":\"PET\"}}}");
public ItemStack create(String itemStackJson) {
- return ItemStack.CODEC.parse(JSON_OPS, JsonParser.parseString(itemStackJson)).getOrThrow();
+ //The hide tooltip fields are consolidated into a single component now so this just fixes it until I want to edit the constants lol
+ Dynamic<JsonElement> dynamic = new Dynamic<>(JSON_OPS, JsonParser.parseString(itemStackJson));
+ Dynamic<JsonElement> fixed = Schemas.getFixer().update(TypeReferences.ITEM_STACK, dynamic, 4189, 4323);
+
+ return ItemStack.CODEC.parse(fixed).getOrThrow();
}
@BeforeAll
@@ -122,7 +129,7 @@ public class ItemUtilsTest {
void testGetDurability() {
IntIntPair durability = ItemUtils.getDurability(TITANIUM_DRILL_DR_X655);
Assertions.assertNotNull(durability);
- Assertions.assertEquals(durability.leftInt(), 5395);
- Assertions.assertEquals(durability.rightInt(), 10_000);
+ Assertions.assertEquals(5395, durability.leftInt());
+ Assertions.assertEquals(10_000, durability.rightInt());
}
}
diff --git a/src/test/java/de/hysky/skyblocker/utils/datafixer/ItemStackComponentizationFixerTest.java b/src/test/java/de/hysky/skyblocker/utils/datafixer/ItemStackComponentizationFixerTest.java
index a21ffd89..bab93dfc 100644
--- a/src/test/java/de/hysky/skyblocker/utils/datafixer/ItemStackComponentizationFixerTest.java
+++ b/src/test/java/de/hysky/skyblocker/utils/datafixer/ItemStackComponentizationFixerTest.java
@@ -53,12 +53,12 @@ public class ItemStackComponentizationFixerTest {
void testComponentsAsString() {
String componentString = ItemStackComponentizationFixer.componentsAsString(TEST_STACK);
- Assertions.assertEquals("[minecraft:enchantments={levels:{\"minecraft:sharpness\":1}}]", componentString);
+ Assertions.assertEquals("[minecraft:enchantments={\"minecraft:sharpness\":1}]", componentString);
}
@Test
void testFromComponentsString() {
- String componentString = "[minecraft:enchantments={levels:{\"minecraft:sharpness\":1}}]";
+ String componentString = "[minecraft:enchantments={\"minecraft:sharpness\":1}]";
ItemStack stack = ItemStackComponentizationFixer.fromComponentsString("minecraft:diamond_sword", 1, componentString);
Assertions.assertTrue(ItemStack.areItemsAndComponentsEqual(stack, TEST_STACK));
@@ -66,7 +66,7 @@ public class ItemStackComponentizationFixerTest {
@Test
void testFromComponentsStringWithInvalidItem() {
- String componentString = "[minecraft:enchantments={levels:{\"minecraft:sharpness\":1}}]";
+ String componentString = "[minecraft:enchantments={\"minecraft:sharpness\":1}]";
ItemStack stack = ItemStackComponentizationFixer.fromComponentsString("minecraft:does_not_exist", 1, componentString);
Assertions.assertEquals(stack, ItemStack.EMPTY);
@@ -82,7 +82,7 @@ public class ItemStackComponentizationFixerTest {
private static NbtCompound convertToNbt(String nbt) {
try {
- return StringNbtReader.parse(nbt);
+ return StringNbtReader.readCompound(nbt);
} catch (Exception e) {
return new NbtCompound();
}
diff --git a/src/test/java/de/hysky/skyblocker/utils/waypoint/WaypointsTest.java b/src/test/java/de/hysky/skyblocker/utils/waypoint/WaypointsTest.java
index 200f391e..4e85e3e2 100644
--- a/src/test/java/de/hysky/skyblocker/utils/waypoint/WaypointsTest.java
+++ b/src/test/java/de/hysky/skyblocker/utils/waypoint/WaypointsTest.java
@@ -417,7 +417,7 @@ public class WaypointsTest {
@Test
void testToSkyblocker() {
String waypointGroupsSkyblocker = Waypoints.toSkyblocker(List.of(SAPPHIRE_WAYPOINTS));
- String expectedWaypointGroupsSkyblocker = "[Skyblocker-Waypoint-Data-V1]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";
+ String expectedWaypointGroupsSkyblocker = "[Skyblocker-Waypoint-Data-V1]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";
Assertions.assertEquals(expectedWaypointGroupsSkyblocker, waypointGroupsSkyblocker);
}