diff options
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java | 6 | ||||
-rw-r--r-- | src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java | 7 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java index 8ccafed2..22e494ab 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java @@ -188,7 +188,11 @@ public class CrystalsLocationsManager { protected static Text getSetLocationMessage(String location, BlockPos blockPos) { int locationColor = WAYPOINT_LOCATIONS.get(location).getColor(); - return Constants.PREFIX.get().append(Text.translatable("skyblocker.config.mining.crystalsWaypoints.addedWaypoint", Text.literal(location).withColor(locationColor), blockPos.getX(), blockPos.getY(), blockPos.getZ())); + + // Minecraft transforms all arguments (`%s`, `%d`, whatever) to `%$1s` DURING LOADING in `Language#load(InputStream, BiConsumer<String,String>)` for some unknown reason. + // And then `TranslatableTextContent#forEachPart` only accepts `%s` for some other unknown reason. + // So that's why the arguments are all `%s`. Wtf mojang????????? + return Constants.PREFIX.get().append(Text.translatableWithFallback("skyblocker.config.mining.crystalsWaypoints.addedWaypoint", "Added waypoint for '%s' at %s %s %s.", Text.literal(location).withColor(locationColor), blockPos.getX(), blockPos.getY(), blockPos.getZ())); } /** diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java index 10c55faf..aac4a641 100644 --- a/src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java +++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationManagerTest.java @@ -1,11 +1,10 @@ package de.hysky.skyblocker.skyblock.dwarven; +import de.hysky.skyblocker.utils.Constants; import net.minecraft.util.math.BlockPos; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import de.hysky.skyblocker.utils.Constants; - class CrystalsLocationManagerTest { boolean matches(String text) { return CrystalsLocationsManager.TEXT_CWORDS_PATTERN.matcher(text).find(); @@ -50,7 +49,7 @@ class CrystalsLocationManagerTest { @Test void testSetLocationMessage() { - Assertions.assertEquals(CrystalsLocationsManager.getSetLocationMessage("Jungle Temple", new BlockPos(10, 11, 12)).getString(), Constants.PREFIX.get().getString() + "skyblocker.config.mining.crystalsWaypoints.addedWaypointJungle Temple skyblocker.config.mining.crystalsWaypoints.addedWaypoint.at : 10 11 12."); - Assertions.assertEquals(CrystalsLocationsManager.getSetLocationMessage("Fairy Grotto", new BlockPos(0, 0, 0)).getString(), Constants.PREFIX.get().getString() + "skyblocker.config.mining.crystalsWaypoints.addedWaypointFairy Grotto skyblocker.config.mining.crystalsWaypoints.addedWaypoint.at : 0 0 0."); + Assertions.assertEquals(Constants.PREFIX.get().getString() + "Added waypoint for 'Jungle Temple' at 10 11 12.", CrystalsLocationsManager.getSetLocationMessage("Jungle Temple", new BlockPos(10, 11, 12)).getString()); + Assertions.assertEquals(Constants.PREFIX.get().getString() + "Added waypoint for 'Fairy Grotto' at 0 0 0.", CrystalsLocationsManager.getSetLocationMessage("Fairy Grotto", new BlockPos(0, 0, 0)).getString()); } } |