minecraft-src/net/minecraft/client/gui/screens/inventory/EnchantmentNames.java
2025-07-04 01:41:11 +03:00

112 lines
2.2 KiB
Java

package net.minecraft.client.gui.screens.inventory;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.Util;
import net.minecraft.client.gui.Font;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.FormattedText;
import net.minecraft.network.chat.Style;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.RandomSource;
@Environment(EnvType.CLIENT)
public class EnchantmentNames {
private static final ResourceLocation ALT_FONT = ResourceLocation.withDefaultNamespace("alt");
private static final Style ROOT_STYLE = Style.EMPTY.withFont(ALT_FONT);
private static final EnchantmentNames INSTANCE = new EnchantmentNames();
private final RandomSource random = RandomSource.create();
private final String[] words = new String[]{
"the",
"elder",
"scrolls",
"klaatu",
"berata",
"niktu",
"xyzzy",
"bless",
"curse",
"light",
"darkness",
"fire",
"air",
"earth",
"water",
"hot",
"dry",
"cold",
"wet",
"ignite",
"snuff",
"embiggen",
"twist",
"shorten",
"stretch",
"fiddle",
"destroy",
"imbue",
"galvanize",
"enchant",
"free",
"limited",
"range",
"of",
"towards",
"inside",
"sphere",
"cube",
"self",
"other",
"ball",
"mental",
"physical",
"grow",
"shrink",
"demon",
"elemental",
"spirit",
"animal",
"creature",
"beast",
"humanoid",
"undead",
"fresh",
"stale",
"phnglui",
"mglwnafh",
"cthulhu",
"rlyeh",
"wgahnagl",
"fhtagn",
"baguette"
};
private EnchantmentNames() {
}
public static EnchantmentNames getInstance() {
return INSTANCE;
}
public FormattedText getRandomName(Font fontRenderer, int maxWidth) {
StringBuilder stringBuilder = new StringBuilder();
int i = this.random.nextInt(2) + 3;
for (int j = 0; j < i; j++) {
if (j != 0) {
stringBuilder.append(" ");
}
stringBuilder.append(Util.getRandom(this.words, this.random));
}
return fontRenderer.getSplitter().headByWidth(Component.literal(stringBuilder.toString()).withStyle(ROOT_STYLE), maxWidth, Style.EMPTY);
}
/**
* Resets the underlying random number generator using a given seed.
*/
public void initSeed(long seed) {
this.random.setSeed(seed);
}
}