mirror of
https://github.com/neoforged/NeoForge
synced 2026-08-20 08:23:13 -04:00
Properly and consistently lowercase strings (#2688)
This commit is contained in:
parent
2dc3d99e67
commit
d978d97e48
7 changed files with 26 additions and 24 deletions
|
|
@ -7,6 +7,6 @@
|
|||
+
|
||||
+ @Override
|
||||
+ public String getSerializedName() {
|
||||
+ return name().toLowerCase();
|
||||
+ return name().toLowerCase(java.util.Locale.ROOT);
|
||||
+ }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ dependencyResolutionManagement {
|
|||
}
|
||||
}
|
||||
|
||||
if (rootProject.name.toLowerCase() == "neoforge") {
|
||||
if (rootProject.name.toLowerCase(Locale.ROOT) == "neoforge") {
|
||||
// Solve name clashes between projects/neoforge and the rootProject for Eclipse.
|
||||
rootProject.name = "NeoForge-Root"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import java.util.ArrayList;
|
|||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Consumer;
|
||||
|
|
@ -41,13 +42,13 @@ import net.minecraft.server.packs.repository.Pack;
|
|||
import net.minecraft.server.packs.repository.PackSource;
|
||||
import net.minecraft.server.packs.resources.IoSupplier;
|
||||
import net.minecraft.util.FormattedCharSequence;
|
||||
import net.minecraft.util.StringUtil;
|
||||
import net.neoforged.fml.ModContainer;
|
||||
import net.neoforged.fml.ModList;
|
||||
import net.neoforged.fml.VersionChecker;
|
||||
import net.neoforged.fml.i18n.FMLTranslations;
|
||||
import net.neoforged.fml.i18n.MavenVersionTranslator;
|
||||
import net.neoforged.fml.loading.FMLPaths;
|
||||
import net.neoforged.fml.loading.StringUtils;
|
||||
import net.neoforged.neoforge.client.gui.widget.ModListWidget;
|
||||
import net.neoforged.neoforge.client.gui.widget.ScrollPanel;
|
||||
import net.neoforged.neoforge.common.CommonHooks;
|
||||
|
|
@ -62,7 +63,7 @@ import org.jetbrains.annotations.Nullable;
|
|||
|
||||
public class ModListScreen extends Screen {
|
||||
private static String stripControlCodes(String value) {
|
||||
return net.minecraft.util.StringUtil.stripColor(value);
|
||||
return StringUtil.stripColor(value);
|
||||
}
|
||||
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
|
@ -90,13 +91,13 @@ public class ModListScreen extends Screen {
|
|||
|
||||
@Override
|
||||
public int compare(ModContainer o1, ModContainer o2) {
|
||||
String name1 = StringUtils.toLowerCase(stripControlCodes(o1.getModInfo().getDisplayName()));
|
||||
String name2 = StringUtils.toLowerCase(stripControlCodes(o2.getModInfo().getDisplayName()));
|
||||
String name1 = stripControlCodes(o1.getModInfo().getDisplayName()).toLowerCase(Locale.ROOT);
|
||||
String name2 = stripControlCodes(o2.getModInfo().getDisplayName()).toLowerCase(Locale.ROOT);
|
||||
return compare(name1, name2);
|
||||
}
|
||||
|
||||
Component getButtonText() {
|
||||
return Component.translatable("fml.menu.mods." + StringUtils.toLowerCase(name()));
|
||||
return Component.translatable("fml.menu.mods." + name().toLowerCase(Locale.ROOT));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -124,8 +125,8 @@ public class ModListScreen extends Screen {
|
|||
public ModListScreen(Screen parentScreen) {
|
||||
super(Component.translatable("fml.menu.mods.title"));
|
||||
this.parentScreen = parentScreen;
|
||||
this.mods = Collections.unmodifiableList(ModList.get().getSortedMods());
|
||||
this.unsortedMods = Collections.unmodifiableList(this.mods);
|
||||
this.unsortedMods = Collections.unmodifiableList(ModList.get().getSortedMods());
|
||||
this.mods = this.unsortedMods;
|
||||
}
|
||||
|
||||
class InfoPanel extends ScrollPanel {
|
||||
|
|
@ -327,7 +328,7 @@ public class ModListScreen extends Screen {
|
|||
}
|
||||
|
||||
private void reloadMods() {
|
||||
this.mods = this.unsortedMods.stream().filter(mi -> StringUtils.toLowerCase(stripControlCodes(mi.getModInfo().getDisplayName())).contains(StringUtils.toLowerCase(search.getValue()))).collect(Collectors.toList());
|
||||
this.mods = this.unsortedMods.stream().filter(mi -> stripControlCodes(mi.getModInfo().getDisplayName()).toLowerCase(Locale.ROOT).contains(search.getValue().toLowerCase(Locale.ROOT))).toList();
|
||||
lastFilterText = search.getValue();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,14 +25,14 @@ public class VanillaClassToKey {
|
|||
Preconditions.checkArgument(!cls.getSimpleName().isEmpty(), "Automatic name conversion can only happen for identifiable classes (per Class#getSimpleName()). Provided: " + cls.getName());
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
cls.getSimpleName().chars().mapMulti((value, consumer) -> {
|
||||
if (Character.isUpperCase((char) value)) {
|
||||
consumer.accept('_');
|
||||
consumer.accept(Character.toLowerCase((char) value));
|
||||
cls.getSimpleName().codePoints().forEachOrdered(value -> {
|
||||
if (Character.isUpperCase(value)) {
|
||||
sb.append('_');
|
||||
sb.append(Character.toString(Character.toLowerCase(value)));
|
||||
} else {
|
||||
consumer.accept(value);
|
||||
sb.append(Character.toString(value));
|
||||
}
|
||||
}).forEach(i -> sb.append((char) i));
|
||||
});
|
||||
|
||||
return ResourceLocation.withDefaultNamespace(sb.substring(1)); // The string will be prefixed with an additional `_` since the first character is uppercase.
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import com.mojang.brigadier.CommandDispatcher;
|
|||
import com.mojang.brigadier.builder.ArgumentBuilder;
|
||||
import com.mojang.brigadier.context.CommandContext;
|
||||
import java.io.File;
|
||||
import java.util.Locale;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.commands.CommandSourceStack;
|
||||
import net.minecraft.commands.Commands;
|
||||
|
|
@ -19,7 +20,6 @@ import net.minecraft.server.level.ServerPlayer;
|
|||
import net.neoforged.fml.config.ModConfig;
|
||||
import net.neoforged.fml.config.ModConfigs;
|
||||
import net.neoforged.fml.loading.FMLEnvironment;
|
||||
import net.neoforged.fml.loading.StringUtils;
|
||||
|
||||
public class ConfigCommand {
|
||||
public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
|
||||
|
|
@ -32,7 +32,7 @@ public class ConfigCommand {
|
|||
SERVER;
|
||||
|
||||
public String extension() {
|
||||
return StringUtils.toLowerCase(name());
|
||||
return name().toLowerCase(Locale.ROOT);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -291,16 +291,16 @@ public abstract class AbstractTest implements Test {
|
|||
final StringBuilder modId = new StringBuilder()
|
||||
.append(framework().id().getNamespace()).append('_');
|
||||
boolean isInUpper = false;
|
||||
for (char c : id().toCharArray()) {
|
||||
if (Character.isUpperCase(c)) {
|
||||
for (int value : id().codePoints().toArray()) {
|
||||
if (Character.isUpperCase(value)) {
|
||||
if (!isInUpper) {
|
||||
isInUpper = true;
|
||||
modId.append('_');
|
||||
}
|
||||
modId.append(Character.toLowerCase(c));
|
||||
modId.append(Character.toString(Character.toLowerCase(value)));
|
||||
} else {
|
||||
isInUpper = false;
|
||||
modId.append(c);
|
||||
modId.append(Character.toString(value));
|
||||
}
|
||||
}
|
||||
return modId.toString();
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
package net.neoforged.neoforge.oldtest.block;
|
||||
|
||||
import java.util.Locale;
|
||||
import net.minecraft.client.model.SkullModel;
|
||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
||||
import net.minecraft.client.renderer.blockentity.SkullBlockRenderer;
|
||||
|
|
@ -107,12 +108,12 @@ public class CustomHeadTest {
|
|||
BLAZE;
|
||||
|
||||
SkullType() {
|
||||
TYPES.put(name().toLowerCase(), this);
|
||||
TYPES.put(getSerializedName(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSerializedName() {
|
||||
return name().toLowerCase();
|
||||
return name().toLowerCase(Locale.ROOT);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue