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) {