Skip to content

Commit

Permalink
Prevent stomping on other metadata - incompatibility with Border
Browse files Browse the repository at this point in the history
  • Loading branch information
tastybento committed Jan 1, 2025
1 parent 13d7db9 commit 7984795
Showing 1 changed file with 4 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
package world.bentobox.islandfly.listeners;

import java.util.HashMap;
import java.util.Map;

import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
Expand All @@ -12,6 +9,7 @@
import org.bukkit.event.player.PlayerToggleFlightEvent;
import org.eclipse.jdt.annotation.NonNull;

import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.events.island.IslandEnterEvent;
import world.bentobox.bentobox.api.events.island.IslandExitEvent;
import world.bentobox.bentobox.api.localization.TextVariables;
Expand Down Expand Up @@ -42,16 +40,14 @@ public FlyListener(final IslandFlyAddon islandFlyAddon) {

@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onToggleFlight(final PlayerToggleFlightEvent event) {
BentoBox.getInstance().logDebug(event.getEventName());
final User user = User.getInstance(event.getPlayer());
if (checkUser(user)) {
user.sendMessage("islandfly.not-allowed");
} else {
addon.getIslands().getIslandAt(user.getLocation())
.filter(i -> i.getMemberSet().contains(user.getUniqueId())).ifPresent(is -> {
Map<String, MetaDataValue> metaData = new HashMap<>();
metaData.put("IslandFly-" + is.getUniqueId(), new MetaDataValue(event.isFlying()));
user.setMetaData(metaData); // Record the fly state for this island
});
.filter(i -> i.getMemberSet().contains(user.getUniqueId())).ifPresent(
is -> user.putMetaData(ISLANDFLY + is.getUniqueId(), new MetaDataValue(event.isFlying())));

}
}
Expand Down

0 comments on commit 7984795

Please sign in to comment.