VersionCommand.java

net.minecraft.server.commands.VersionCommand

信息

  • 全限定名:net.minecraft.server.commands.VersionCommand
  • 类型:public class
  • 包:net.minecraft.server.commands
  • 源码路径:src/main/java/net/minecraft/server/commands/VersionCommand.java
  • 起始行号:L12
  • 职责:

    TODO

字段/常量

  • HEADER

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

      TODO

  • STABLE

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

      TODO

  • UNSTABLE

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

      TODO

内部类/嵌套类型

构造器

方法

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

public static void register(CommandDispatcher<CommandSourceStack> dispatcher, boolean checkPermissions) @ L17

  • 方法名:register
  • 源码定位:L17
  • 返回类型:void
  • 修饰符:public static

参数:

  • dispatcher: CommandDispatcher
  • checkPermissions: boolean

说明:

TODO

public static void dumpVersion(Consumer<Component> output) @ L28

  • 方法名:dumpVersion
  • 源码定位:L28
  • 返回类型:void
  • 修饰符:public static

参数:

  • output: Consumer

说明:

TODO

代码

public class VersionCommand {
    private static final Component HEADER = Component.translatable("commands.version.header");
    private static final Component STABLE = Component.translatable("commands.version.stable.yes");
    private static final Component UNSTABLE = Component.translatable("commands.version.stable.no");
 
    public static void register(CommandDispatcher<CommandSourceStack> dispatcher, boolean checkPermissions) {
        dispatcher.register(
            Commands.literal("version").requires(Commands.hasPermission(checkPermissions ? Commands.LEVEL_GAMEMASTERS : Commands.LEVEL_ALL)).executes(c -> {
                CommandSourceStack source = c.getSource();
                source.sendSystemMessage(HEADER);
                dumpVersion(source::sendSystemMessage);
                return 1;
            })
        );
    }
 
    public static void dumpVersion(Consumer<Component> output) {
        WorldVersion version = SharedConstants.getCurrentVersion();
        output.accept(Component.translatable("commands.version.id", version.id()));
        output.accept(Component.translatable("commands.version.name", version.name()));
        output.accept(Component.translatable("commands.version.data", version.dataVersion().version()));
        output.accept(Component.translatable("commands.version.series", version.dataVersion().series()));
        output.accept(Component.translatable("commands.version.protocol", version.protocolVersion(), "0x" + Integer.toHexString(version.protocolVersion())));
        output.accept(Component.translatable("commands.version.build_time", Component.translationArg(version.buildTime())));
        output.accept(Component.translatable("commands.version.pack.resource", version.packVersion(PackType.CLIENT_RESOURCES).toString()));
        output.accept(Component.translatable("commands.version.pack.data", version.packVersion(PackType.SERVER_DATA).toString()));
        output.accept(version.stable() ? STABLE : UNSTABLE);
    }
}

引用的其他类

  • SharedConstants

    • 引用位置: 方法调用
    • 关联成员: SharedConstants.getCurrentVersion()
  • CommandSourceStack

    • 引用位置: 参数
  • Commands

    • 引用位置: 方法调用
    • 关联成员: Commands.hasPermission(), Commands.literal()
  • Component

    • 引用位置: 参数/字段/方法调用
    • 关联成员: Component.translatable(), Component.translationArg()