From fefe0152741a704bd02e4ce620802056320ba0c7 Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sun, 1 Jun 2025 01:17:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E5=88=A4=E6=96=AD=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=8C=85=E5=90=8C=E6=AD=A5=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/vehicle/VehicleDataTool.java | 16 ++++++++++------ .../atsuishio/superbwarfare/tools/GunsTool.java | 16 ++++++++++------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/data/vehicle/VehicleDataTool.java b/src/main/java/com/atsuishio/superbwarfare/data/vehicle/VehicleDataTool.java index 6ed0ed802..0bc13b9de 100644 --- a/src/main/java/com/atsuishio/superbwarfare/data/vehicle/VehicleDataTool.java +++ b/src/main/java/com/atsuishio/superbwarfare/data/vehicle/VehicleDataTool.java @@ -55,7 +55,7 @@ public class VehicleDataTool { public static void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) { if (event.getEntity() instanceof ServerPlayer player) { var server = player.getServer(); - if (server != null && server.isSingleplayer()) { + if (server != null && server.isSingleplayerOwner(player.getGameProfile())) { return; } @@ -70,12 +70,16 @@ public class VehicleDataTool { @SubscribeEvent public static void onDataPackSync(OnDatapackSyncEvent event) { - initJsonData(event.getPlayerList().getServer().getResourceManager()); + var server = event.getPlayerList().getServer(); + initJsonData(server.getResourceManager()); - if (event.getPlayerList().getServer().isSingleplayer()) { - return; + var message = VehiclesDataMessage.create(); + for (var player : event.getRelevantPlayers().toList()) { + if (server.isSingleplayerOwner(player.getGameProfile())) { + continue; + } + + PacketDistributor.sendToPlayer(player, message); } - - event.getRelevantPlayers().forEach(player -> PacketDistributor.sendToPlayer(player, VehiclesDataMessage.create())); } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java b/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java index a9fff3874..7d072d512 100644 --- a/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java +++ b/src/main/java/com/atsuishio/superbwarfare/tools/GunsTool.java @@ -64,7 +64,7 @@ public class GunsTool { public static void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) { if (event.getEntity() instanceof ServerPlayer player) { var server = player.getServer(); - if (server != null && server.isSingleplayer()) { + if (server != null && server.isSingleplayerOwner(player.getGameProfile())) { return; } @@ -79,13 +79,17 @@ public class GunsTool { @SubscribeEvent public static void onDataPackSync(OnDatapackSyncEvent event) { - initJsonData(event.getPlayerList().getServer().getResourceManager()); + var server = event.getPlayerList().getServer(); + initJsonData(server.getResourceManager()); - if (event.getPlayerList().getServer().isSingleplayer()) { - return; + var message = GunsDataMessage.create(); + for (var player : event.getRelevantPlayers().toList()) { + if (server.isSingleplayerOwner(player.getGameProfile())) { + continue; + } + + PacketDistributor.sendToPlayer(player, message); } - - event.getRelevantPlayers().forEach(player -> PacketDistributor.sendToPlayer(player, GunsDataMessage.create())); } public static void setGunIntTag(final CompoundTag tag, String name, int num) {