WardenSpawnTrackerCommand.java
net.minecraft.server.commands.WardenSpawnTrackerCommand
信息
- 全限定名:net.minecraft.server.commands.WardenSpawnTrackerCommand
- 类型:public class
- 包:net.minecraft.server.commands
- 源码路径:src/main/java/net/minecraft/server/commands/WardenSpawnTrackerCommand.java
- 起始行号:L13
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public static void register(CommandDispatcher<CommandSourceStack> dispatcher) @ L14
- 方法名:register
- 源码定位:L14
- 返回类型:void
- 修饰符:public static
参数:
- dispatcher: CommandDispatcher
说明:
TODO
private static int setWarningLevel(CommandSourceStack source, Collection<?extends Player> players, int warningLevel) @ L35
- 方法名:setWarningLevel
- 源码定位:L35
- 返回类型:int
- 修饰符:private static
参数:
- source: CommandSourceStack
- players: Collection<?extends Player>
- warningLevel: int
说明:
TODO
private static int resetTracker(CommandSourceStack source, Collection<?extends Player> players) @ L51
- 方法名:resetTracker
- 源码定位:L51
- 返回类型:int
- 修饰符:private static
参数:
- source: CommandSourceStack
- players: Collection<?extends Player>
说明:
TODO
代码
public class WardenSpawnTrackerCommand {
public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
dispatcher.register(
Commands.literal("warden_spawn_tracker")
.requires(Commands.hasPermission(Commands.LEVEL_GAMEMASTERS))
.then(Commands.literal("clear").executes(c -> resetTracker(c.getSource(), ImmutableList.of(c.getSource().getPlayerOrException()))))
.then(
Commands.literal("set")
.then(
Commands.argument("warning_level", IntegerArgumentType.integer(0, 4))
.executes(
c -> setWarningLevel(
c.getSource(),
ImmutableList.of(c.getSource().getPlayerOrException()),
IntegerArgumentType.getInteger(c, "warning_level")
)
)
)
)
);
}
private static int setWarningLevel(CommandSourceStack source, Collection<? extends Player> players, int warningLevel) {
for (Player player : players) {
player.getWardenSpawnTracker().ifPresent(wardenSpawnTracker -> wardenSpawnTracker.setWarningLevel(warningLevel));
}
if (players.size() == 1) {
source.sendSuccess(
() -> Component.translatable("commands.warden_spawn_tracker.set.success.single", players.iterator().next().getDisplayName()), true
);
} else {
source.sendSuccess(() -> Component.translatable("commands.warden_spawn_tracker.set.success.multiple", players.size()), true);
}
return players.size();
}
private static int resetTracker(CommandSourceStack source, Collection<? extends Player> players) {
for (Player player : players) {
player.getWardenSpawnTracker().ifPresent(WardenSpawnTracker::reset);
}
if (players.size() == 1) {
source.sendSuccess(
() -> Component.translatable("commands.warden_spawn_tracker.clear.success.single", players.iterator().next().getDisplayName()), true
);
} else {
source.sendSuccess(() -> Component.translatable("commands.warden_spawn_tracker.clear.success.multiple", players.size()), true);
}
return players.size();
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Commands.argument(), Commands.hasPermission(), Commands.literal()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Component.translatable()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: