如何在Forge 1.16.5中踢出玩家 - 两种方法
"如何在Forge 1.16.5中踢出玩家 - 两种方法"\n\n在Forge 1.16.5中,可以使用以下方法之一将玩家踢出服务器:\n\n1. 在服务器端的事件处理程序中使用ServerPlayerEntity#kick()方法。例如,可以在PlayerLoggedInEvent事件中使用以下代码来踢出玩家:\n\n@SubscribeEvent\npublic void onPlayerLogin(PlayerLoggedInEvent event) {\n ServerPlayerEntity player = (ServerPlayerEntity) event.getPlayer();\n player.kick(new StringTextComponent("You have been kicked from the server."));\n}\n\n\n2. 在服务器命令中使用ServerCommandSource#kickPlayer()方法。例如,可以创建一个命令来踢出玩家:\n\npublic class KickCommand {\n public static void register(CommandDispatcher<ServerCommandSource> dispatcher) {\n dispatcher.register(CommandManager.literal("kick")\n .then(CommandManager.argument("target", EntityArgumentType.player())\n .executes(context -> {\n ServerPlayerEntity target = EntityArgumentType.getPlayer(context, "target");\n target.networkHandler.disconnect(new StringTextComponent("You have been kicked from the server."));\n return 1;\n })));\n }\n}\n\n然后在ServerLifecycleEvents#SERVER_STARTING事件中注册该命令:\n\n@Mod.EventBusSubscriber(modid = "your_mod_id", bus = Mod.EventBusSubscriber.Bus.FORGE)\npublic class ModEventSubscriber {\n @SubscribeEvent\n public static void onServerStarting(FMLServerStartingEvent event) {\n KickCommand.register(event.getServer().getCommandManager().getDispatcher());\n }\n}\n\n\n无论哪种方法,都将使用一条文本组件作为踢出消息。在上述示例中,使用了StringTextComponent来创建简单的文本消息。您可以根据需要自定义踢出消息。
原文地址: https://www.cveoy.top/t/topic/pOQo 著作权归作者所有。请勿转载和采集!