minecraft-src/net/minecraft/client/multiplayer/chat/report/BanReason.java
2025-07-04 01:41:11 +03:00

53 lines
1.7 KiB
Java

package net.minecraft.client.multiplayer.chat.report;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.network.chat.Component;
import org.jetbrains.annotations.Nullable;
@Environment(EnvType.CLIENT)
public enum BanReason {
GENERIC_VIOLATION("generic_violation"),
FALSE_REPORTING("false_reporting"),
HATE_SPEECH("hate_speech"),
HATE_TERRORISM_NOTORIOUS_FIGURE("hate_terrorism_notorious_figure"),
HARASSMENT_OR_BULLYING("harassment_or_bullying"),
DEFAMATION_IMPERSONATION_FALSE_INFORMATION("defamation_impersonation_false_information"),
DRUGS("drugs"),
FRAUD("fraud"),
SPAM_OR_ADVERTISING("spam_or_advertising"),
NUDITY_OR_PORNOGRAPHY("nudity_or_pornography"),
SEXUALLY_INAPPROPRIATE("sexually_inappropriate"),
EXTREME_VIOLENCE_OR_GORE("extreme_violence_or_gore"),
IMMINENT_HARM_TO_PERSON_OR_PROPERTY("imminent_harm_to_person_or_property");
private final Component title;
private BanReason(final String name) {
this.title = Component.translatable("gui.banned.reason." + name);
}
public Component title() {
return this.title;
}
@Nullable
public static BanReason byId(int id) {
return switch (id) {
case 2 -> FALSE_REPORTING;
default -> null;
case 5 -> HATE_SPEECH;
case 16, 25 -> HATE_TERRORISM_NOTORIOUS_FIGURE;
case 17, 19, 23, 31 -> GENERIC_VIOLATION;
case 21 -> HARASSMENT_OR_BULLYING;
case 27 -> DEFAMATION_IMPERSONATION_FALSE_INFORMATION;
case 28 -> DRUGS;
case 29 -> FRAUD;
case 30 -> SPAM_OR_ADVERTISING;
case 32 -> NUDITY_OR_PORNOGRAPHY;
case 33 -> SEXUALLY_INAPPROPRIATE;
case 34 -> EXTREME_VIOLENCE_OR_GORE;
case 53 -> IMMINENT_HARM_TO_PERSON_OR_PROPERTY;
};
}
}