From 5d4f39235f1fa5ba300093f91bc3b3b06ed3a7a3 Mon Sep 17 00:00:00 2001 From: munzzyy Date: Sat, 4 Jul 2026 22:44:06 -0500 Subject: [PATCH] Fix Turkish locale crash in slot type id() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Preset.id() used toLowerCase() with the system locale. On a Turkish locale JVM, 'I' lowercases to dotless 'ı' (U+0131), turning CURIO into an invalid resource path (curıo) and crashing at startup. Use Locale.ROOT so slot ids stay locale-independent. --- .../java/top/theillusivec4/curios/api/CuriosSlotTypes.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/top/theillusivec4/curios/api/CuriosSlotTypes.java b/src/main/java/top/theillusivec4/curios/api/CuriosSlotTypes.java index 4a52d6bf..ee4cb321 100644 --- a/src/main/java/top/theillusivec4/curios/api/CuriosSlotTypes.java +++ b/src/main/java/top/theillusivec4/curios/api/CuriosSlotTypes.java @@ -1,5 +1,6 @@ package top.theillusivec4.curios.api; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.function.BiPredicate; @@ -125,7 +126,7 @@ public enum Preset { RING; public String id() { - return this.toString().toLowerCase(); + return this.toString().toLowerCase(Locale.ROOT); } } }