From 118d4400abcc111b9e812fda8c41a15b909754ce Mon Sep 17 00:00:00 2001 From: tastybento Date: Wed, 1 Jan 2025 10:33:23 -0800 Subject: [PATCH] Save meta data after setting --- .../world/bentobox/border/commands/IslandBorderCommand.java | 2 ++ .../java/world/bentobox/border/listeners/PlayerListener.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/main/java/world/bentobox/border/commands/IslandBorderCommand.java b/src/main/java/world/bentobox/border/commands/IslandBorderCommand.java index 3a552cc..098ad54 100644 --- a/src/main/java/world/bentobox/border/commands/IslandBorderCommand.java +++ b/src/main/java/world/bentobox/border/commands/IslandBorderCommand.java @@ -48,10 +48,12 @@ public boolean execute(User user, String label, List args) { if (on) { user.sendMessage("border.toggle.border-off"); user.putMetaData(BorderShower.BORDER_STATE_META_DATA, new MetaDataValue(false)); + addon.getPlayers().savePlayer(user.getUniqueId()); addon.getBorderShower().hideBorder(user); } else { user.sendMessage("border.toggle.border-on"); user.putMetaData(BorderShower.BORDER_STATE_META_DATA, new MetaDataValue(true)); + addon.getPlayers().savePlayer(user.getUniqueId()); if (island != null) { addon.getBorderShower().showBorder(user.getPlayer(), island); } diff --git a/src/main/java/world/bentobox/border/listeners/PlayerListener.java b/src/main/java/world/bentobox/border/listeners/PlayerListener.java index 1258bfb..5799624 100644 --- a/src/main/java/world/bentobox/border/listeners/PlayerListener.java +++ b/src/main/java/world/bentobox/border/listeners/PlayerListener.java @@ -32,6 +32,7 @@ import org.bukkit.util.RayTraceResult; import org.bukkit.util.Vector; +import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.events.island.IslandProtectionRangeChangeEvent; import world.bentobox.bentobox.api.flags.Flag; import world.bentobox.bentobox.api.metadata.MetaDataValue; @@ -121,6 +122,8 @@ public void onPlayerRespawn(PlayerRespawnEvent e) { private boolean isOn(Player player) { // Check if border is off User user = User.getInstance(player); + BentoBox.getInstance().logDebug("Border state meta data = " + + user.getMetaData(BorderShower.BORDER_STATE_META_DATA).map(mtv -> mtv.asBoolean()).orElse(null)); return user.getMetaData(BorderShower.BORDER_STATE_META_DATA).map(MetaDataValue::asBoolean) .orElse(addon.getSettings().isShowByDefault());