ChatTrustLevel.java
net.minecraft.client.multiplayer.chat.ChatTrustLevel
信息
- 全限定名:net.minecraft.client.multiplayer.chat.ChatTrustLevel
- 类型:public enum
- 包:net.minecraft.client.multiplayer.chat
- 源码路径:src/main/java/net/minecraft/client/multiplayer/chat/ChatTrustLevel.java
- 起始行号:L16
- 实现:StringRepresentable
- 职责:
TODO
字段/常量
-
SECURE, MODIFIED, NOT_SECURE- 类型:
ChatTrustLevel - 修饰符:
package-private - 源码定位:
L17 - 说明:
TODO
- 类型:
-
CODEC- 类型:
Codec<ChatTrustLevel> - 修饰符:
public static final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
serializedName- 类型:
String - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
private ChatTrustLevel(String serializedName) @ L24
- 构造器名:ChatTrustLevel
- 源码定位:L24
- 修饰符:private
参数:
- serializedName: String
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static ChatTrustLevel evaluate(PlayerChatMessage message, Component decoratedMessage, Instant received) @ L28
- 方法名:evaluate
- 源码定位:L28
- 返回类型:ChatTrustLevel
- 修饰符:public static
参数:
- message: PlayerChatMessage
- decoratedMessage: Component
- received: Instant
说明:
TODO
private static boolean isModified(PlayerChatMessage message, Component decoratedMessage) @ L36
- 方法名:isModified
- 源码定位:L36
- 返回类型:boolean
- 修饰符:private static
参数:
- message: PlayerChatMessage
- decoratedMessage: Component
说明:
TODO
private static boolean containsModifiedStyle(Component decoratedContent) @ L45
- 方法名:containsModifiedStyle
- 源码定位:L45
- 返回类型:boolean
- 修饰符:private static
参数:
- decoratedContent: Component
说明:
TODO
private static boolean isModifiedStyle(Style style) @ L49
- 方法名:isModifiedStyle
- 源码定位:L49
- 返回类型:boolean
- 修饰符:private static
参数:
- style: Style
说明:
TODO
public boolean isNotSecure() @ L53
- 方法名:isNotSecure
- 源码定位:L53
- 返回类型:boolean
- 修饰符:public
参数:
- 无
说明:
TODO
public GuiMessageTag createTag(PlayerChatMessage message) @ L57
- 方法名:createTag
- 源码定位:L57
- 返回类型:GuiMessageTag
- 修饰符:public
参数:
- message: PlayerChatMessage
说明:
TODO
public String getSerializedName() @ L65
- 方法名:getSerializedName
- 源码定位:L65
- 返回类型:String
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public enum ChatTrustLevel implements StringRepresentable {
SECURE("secure"),
MODIFIED("modified"),
NOT_SECURE("not_secure");
public static final Codec<ChatTrustLevel> CODEC = StringRepresentable.fromEnum(ChatTrustLevel::values);
private final String serializedName;
private ChatTrustLevel(String serializedName) {
this.serializedName = serializedName;
}
public static ChatTrustLevel evaluate(PlayerChatMessage message, Component decoratedMessage, Instant received) {
if (!message.hasSignature() || message.hasExpiredClient(received)) {
return NOT_SECURE;
} else {
return isModified(message, decoratedMessage) ? MODIFIED : SECURE;
}
}
private static boolean isModified(PlayerChatMessage message, Component decoratedMessage) {
if (!decoratedMessage.getString().contains(message.signedContent())) {
return true;
} else {
Component decoratedContent = message.unsignedContent();
return decoratedContent == null ? false : containsModifiedStyle(decoratedContent);
}
}
private static boolean containsModifiedStyle(Component decoratedContent) {
return decoratedContent.<Boolean>visit((style, contents) -> isModifiedStyle(style) ? Optional.of(true) : Optional.empty(), Style.EMPTY).orElse(false);
}
private static boolean isModifiedStyle(Style style) {
return !style.getFont().equals(FontDescription.DEFAULT);
}
public boolean isNotSecure() {
return this == NOT_SECURE;
}
public @Nullable GuiMessageTag createTag(PlayerChatMessage message) {
return switch (this) {
case MODIFIED -> GuiMessageTag.chatModified(message.signedContent());
case NOT_SECURE -> GuiMessageTag.chatNotSecure();
default -> null;
};
}
@Override
public String getSerializedName() {
return this.serializedName;
}
}引用的其他类
-
- 引用位置:
方法调用/返回值 - 关联成员:
GuiMessageTag.chatModified(), GuiMessageTag.chatNotSecure()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现/方法调用 - 关联成员:
StringRepresentable.fromEnum()
- 引用位置: