DebugEntityNameGenerator.java

net.minecraft.network.protocol.game.DebugEntityNameGenerator

信息

  • 全限定名:net.minecraft.network.protocol.game.DebugEntityNameGenerator
  • 类型:public class
  • 包:net.minecraft.network.protocol.game
  • 源码路径:src/main/java/net/minecraft/network/protocol/game/DebugEntityNameGenerator.java
  • 起始行号:L10
  • 职责:

    TODO

字段/常量

  • NAMES_FIRST_PART

    • 类型: String[]
    • 修饰符: private static final
    • 源码定位: L11
    • 说明:

      TODO

  • NAMES_SECOND_PART

    • 类型: String[]
    • 修饰符: private static final
    • 源码定位: L46
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

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

public static String getEntityName(Entity entity) @ L79

  • 方法名:getEntityName
  • 源码定位:L79
  • 返回类型:String
  • 修饰符:public static

参数:

  • entity: Entity

说明:

TODO

public static String getEntityName(UUID uuid) @ L88

  • 方法名:getEntityName
  • 源码定位:L88
  • 返回类型:String
  • 修饰符:public static

参数:

  • uuid: UUID

说明:

TODO

private static String getRandomString(RandomSource random, String[] names) @ L93

  • 方法名:getRandomString
  • 源码定位:L93
  • 返回类型:String
  • 修饰符:private static

参数:

  • random: RandomSource
  • names: String[]

说明:

TODO

代码

public class DebugEntityNameGenerator {
    private static final String[] NAMES_FIRST_PART = new String[]{
        "Slim",
        "Far",
        "River",
        "Silly",
        "Fat",
        "Thin",
        "Fish",
        "Bat",
        "Dark",
        "Oak",
        "Sly",
        "Bush",
        "Zen",
        "Bark",
        "Cry",
        "Slack",
        "Soup",
        "Grim",
        "Hook",
        "Dirt",
        "Mud",
        "Sad",
        "Hard",
        "Crook",
        "Sneak",
        "Stink",
        "Weird",
        "Fire",
        "Soot",
        "Soft",
        "Rough",
        "Cling",
        "Scar"
    };
    private static final String[] NAMES_SECOND_PART = new String[]{
        "Fox",
        "Tail",
        "Jaw",
        "Whisper",
        "Twig",
        "Root",
        "Finder",
        "Nose",
        "Brow",
        "Blade",
        "Fry",
        "Seek",
        "Wart",
        "Tooth",
        "Foot",
        "Leaf",
        "Stone",
        "Fall",
        "Face",
        "Tongue",
        "Voice",
        "Lip",
        "Mouth",
        "Snail",
        "Toe",
        "Ear",
        "Hair",
        "Beard",
        "Shirt",
        "Fist"
    };
 
    public static String getEntityName(Entity entity) {
        if (entity instanceof Player) {
            return entity.getPlainTextName();
        } else {
            Component customName = entity.getCustomName();
            return customName != null ? customName.getString() : getEntityName(entity.getUUID());
        }
    }
 
    public static String getEntityName(UUID uuid) {
        RandomSource random = RandomSource.createThreadLocalInstance(uuid.hashCode() >> 2);
        return getRandomString(random, NAMES_FIRST_PART) + getRandomString(random, NAMES_SECOND_PART);
    }
 
    private static String getRandomString(RandomSource random, String[] names) {
        return Util.getRandom(names, random);
    }
}

引用的其他类

  • RandomSource

    • 引用位置: 参数/方法调用
    • 关联成员: RandomSource.createThreadLocalInstance()
  • Util

    • 引用位置: 方法调用
    • 关联成员: Util.getRandom()
  • Entity

    • 引用位置: 参数