ReportReason.java

net.minecraft.client.multiplayer.chat.report.ReportReason

信息

  • 全限定名:net.minecraft.client.multiplayer.chat.report.ReportReason
  • 类型:public enum
  • 包:net.minecraft.client.multiplayer.chat.report
  • 源码路径:src/main/java/net/minecraft/client/multiplayer/chat/report/ReportReason.java
  • 起始行号:L10
  • 职责:

    TODO

字段/常量

  • I_WANT_TO_REPORT_THEM, HATE_SPEECH, HARASSMENT_OR_BULLYING, SELF_HARM_OR_SUICIDE, IMMINENT_HARM, DEFAMATION_IMPERSONATION_FALSE_INFORMATION, ALCOHOL_TOBACCO_DRUGS, CHILD_SEXUAL_EXPLOITATION_OR_ABUSE, TERRORISM_OR_VIOLENT_EXTREMISM, NON_CONSENSUAL_INTIMATE_IMAGERY, SEXUALLY_INAPPROPRIATE

    • 类型: ReportReason
    • 修饰符: package-private
    • 源码定位: L11
    • 说明:

      TODO

  • backendName

    • 类型: String
    • 修饰符: private final
    • 源码定位: L23
    • 说明:

      TODO

  • title

    • 类型: Component
    • 修饰符: private final
    • 源码定位: L24
    • 说明:

      TODO

  • description

    • 类型: Component
    • 修饰符: private final
    • 源码定位: L25
    • 说明:

      TODO

内部类/嵌套类型

构造器

private ReportReason(String name) @ L27

  • 构造器名:ReportReason
  • 源码定位:L27
  • 修饰符:private

参数:

  • name: String

说明:

TODO

方法

下面的方法块按源码顺序生成。

public String backendName() @ L34

  • 方法名:backendName
  • 源码定位:L34
  • 返回类型:String
  • 修饰符:public

参数:

说明:

TODO

public Component title() @ L38

  • 方法名:title
  • 源码定位:L38
  • 返回类型:Component
  • 修饰符:public

参数:

说明:

TODO

public Component description() @ L42

  • 方法名:description
  • 源码定位:L42
  • 返回类型:Component
  • 修饰符:public

参数:

说明:

TODO

public static List<ReportReason> getIncompatibleCategories(ReportType reportType) @ L46

  • 方法名:getIncompatibleCategories
  • 源码定位:L46
  • 返回类型:List
  • 修饰符:public static

参数:

  • reportType: ReportType

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public enum ReportReason {
    I_WANT_TO_REPORT_THEM("i_want_to_report_them"),
    HATE_SPEECH("hate_speech"),
    HARASSMENT_OR_BULLYING("harassment_or_bullying"),
    SELF_HARM_OR_SUICIDE("self_harm_or_suicide"),
    IMMINENT_HARM("imminent_harm"),
    DEFAMATION_IMPERSONATION_FALSE_INFORMATION("defamation_impersonation_false_information"),
    ALCOHOL_TOBACCO_DRUGS("alcohol_tobacco_drugs"),
    CHILD_SEXUAL_EXPLOITATION_OR_ABUSE("child_sexual_exploitation_or_abuse"),
    TERRORISM_OR_VIOLENT_EXTREMISM("terrorism_or_violent_extremism"),
    NON_CONSENSUAL_INTIMATE_IMAGERY("non_consensual_intimate_imagery"),
    SEXUALLY_INAPPROPRIATE("sexually_inappropriate");
 
    private final String backendName;
    private final Component title;
    private final Component description;
 
    private ReportReason(String name) {
        this.backendName = name.toUpperCase(Locale.ROOT);
        String translationKey = "gui.abuseReport.reason." + name;
        this.title = Component.translatable(translationKey);
        this.description = Component.translatable(translationKey + ".description");
    }
 
    public String backendName() {
        return this.backendName;
    }
 
    public Component title() {
        return this.title;
    }
 
    public Component description() {
        return this.description;
    }
 
    public static List<ReportReason> getIncompatibleCategories(ReportType reportType) {
        return switch (reportType) {
            case CHAT -> List.of(SEXUALLY_INAPPROPRIATE);
            case SKIN -> List.of(IMMINENT_HARM, DEFAMATION_IMPERSONATION_FALSE_INFORMATION);
            default -> List.of();
        };
    }
}

引用的其他类

  • ReportType

    • 引用位置: 参数
  • Component

    • 引用位置: 字段/方法调用/返回值
    • 关联成员: Component.translatable()