修复部分语言下toUpper/LowerCase的转换问题

This commit is contained in:
Light_Quanta 2025-06-28 01:15:42 +08:00
parent b7d995feca
commit 8b6f6708c6
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
3 changed files with 10 additions and 5 deletions

View file

@ -15,6 +15,7 @@ import org.jetbrains.annotations.Nullable;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.util.HashMap; import java.util.HashMap;
import java.util.Locale;
@EventBusSubscriber(modid = Mod.MODID) @EventBusSubscriber(modid = Mod.MODID)
public class LaunchableEntityTool { public class LaunchableEntityTool {
@ -94,9 +95,9 @@ public class LaunchableEntityTool {
case "@sbw:damage" -> DoubleTag.valueOf(data.damage()); case "@sbw:damage" -> DoubleTag.valueOf(data.damage());
case "@sbw:owner" -> NbtUtils.createUUID(data.shooter()); case "@sbw:owner" -> NbtUtils.createUUID(data.shooter());
case "@sbw:owner_string_lower" -> case "@sbw:owner_string_lower" ->
StringTag.valueOf(data.shooter().toString().replace("-", "").toLowerCase()); StringTag.valueOf(data.shooter().toString().replace("-", "").toLowerCase(Locale.ENGLISH));
case "@sbw:owner_string_upper" -> case "@sbw:owner_string_upper" ->
StringTag.valueOf(data.shooter().toString().replace("-", "").toUpperCase()); StringTag.valueOf(data.shooter().toString().replace("-", "").toUpperCase(Locale.ENGLISH));
case "@sbw:explosion_damage" -> DoubleTag.valueOf(data.explosionDamage()); case "@sbw:explosion_damage" -> DoubleTag.valueOf(data.explosionDamage());
case "@sbw:explosion_radius" -> DoubleTag.valueOf(data.explosionRadius()); case "@sbw:explosion_radius" -> DoubleTag.valueOf(data.explosionRadius());
case "@sbw:spread" -> DoubleTag.valueOf(data.spread()); case "@sbw:spread" -> DoubleTag.valueOf(data.spread());

View file

@ -12,6 +12,8 @@ import net.minecraft.world.item.Item;
import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredHolder;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.util.Locale;
public class Perk { public class Perk {
public final String descriptionId; public final String descriptionId;
@ -28,7 +30,7 @@ public class Perk {
boolean isFirst = true; boolean isFirst = true;
for (char c : descriptionId.toCharArray()) { for (char c : descriptionId.toCharArray()) {
if (isFirst || useUpperCase) { if (isFirst || useUpperCase) {
builder.append(Character.toUpperCase(c)); builder.append(String.valueOf(c).toUpperCase(Locale.ENGLISH));
isFirst = false; isFirst = false;
useUpperCase = false; useUpperCase = false;
} else if (c == '_') { } else if (c == '_') {

View file

@ -9,6 +9,8 @@ import net.minecraft.world.entity.Entity;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredHolder;
import java.util.Locale;
public enum Ammo { public enum Ammo {
HANDGUN(ChatFormatting.GREEN), HANDGUN(ChatFormatting.GREEN),
RIFLE(ChatFormatting.AQUA), RIFLE(ChatFormatting.AQUA),
@ -40,7 +42,7 @@ public enum Ammo {
Ammo(ChatFormatting color) { Ammo(ChatFormatting color) {
this.color = color; this.color = color;
var name = name().toLowerCase(); var name = name().toLowerCase(Locale.ENGLISH);
this.name = name; this.name = name;
this.translationKey = "item.superbwarfare.ammo." + name; this.translationKey = "item.superbwarfare.ammo." + name;
@ -51,7 +53,7 @@ public enum Ammo {
if (c == '_') { if (c == '_') {
useUpperCase = true; useUpperCase = true;
} else if (useUpperCase) { } else if (useUpperCase) {
builder.append(Character.toUpperCase(c)); builder.append(String.valueOf(c).toUpperCase(Locale.ENGLISH));
useUpperCase = false; useUpperCase = false;
} else { } else {
builder.append(c); builder.append(c);