From fe8de7156bce07c459f6bea64e50d73d60568ec8 Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Mon, 30 Jun 2025 02:48:52 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80PlayerVariable=E7=94=A8?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capability/player/PlayerVariable.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/capability/player/PlayerVariable.java b/src/main/java/com/atsuishio/superbwarfare/capability/player/PlayerVariable.java index 590d0d125..167520e8e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/capability/player/PlayerVariable.java +++ b/src/main/java/com/atsuishio/superbwarfare/capability/player/PlayerVariable.java @@ -38,25 +38,30 @@ public class PlayerVariable implements INBTSerializable { } } + + public static PlayerVariable getOrDefault(Entity entity) { + return entity.getData(ModAttachments.PLAYER_VARIABLE); + } + @SubscribeEvent public static void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) { if (!(event.getEntity() instanceof ServerPlayer player)) return; - PacketDistributor.sendToPlayer(player, new PlayerVariablesSyncMessage(player.getId(), player.getData(ModAttachments.PLAYER_VARIABLE).compareAndUpdate())); + PacketDistributor.sendToPlayer(player, new PlayerVariablesSyncMessage(player.getId(), getOrDefault(player).compareAndUpdate())); } @SubscribeEvent public static void onPlayerRespawn(PlayerEvent.PlayerRespawnEvent event) { if (!(event.getEntity() instanceof ServerPlayer player)) return; - PacketDistributor.sendToPlayer(player, new PlayerVariablesSyncMessage(player.getId(), player.getData(ModAttachments.PLAYER_VARIABLE).compareAndUpdate())); + PacketDistributor.sendToPlayer(player, new PlayerVariablesSyncMessage(player.getId(), getOrDefault(player).compareAndUpdate())); } @SubscribeEvent public static void onPlayerChangeDimension(PlayerEvent.PlayerChangedDimensionEvent event) { if (!(event.getEntity() instanceof ServerPlayer player)) return; - PacketDistributor.sendToPlayer(player, new PlayerVariablesSyncMessage(player.getId(), player.getData(ModAttachments.PLAYER_VARIABLE).forceUpdate())); + PacketDistributor.sendToPlayer(player, new PlayerVariablesSyncMessage(player.getId(), getOrDefault(player).forceUpdate())); } public PlayerVariable watch() {