Skip to content

Commit 7984795

Browse files
committed
Prevent stomping on other metadata - incompatibility with Border
1 parent 13d7db9 commit 7984795

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/main/java/world/bentobox/islandfly/listeners/FlyListener.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package world.bentobox.islandfly.listeners;
22

3-
import java.util.HashMap;
4-
import java.util.Map;
5-
63
import org.bukkit.Bukkit;
74
import org.bukkit.GameMode;
85
import org.bukkit.entity.Player;
@@ -12,6 +9,7 @@
129
import org.bukkit.event.player.PlayerToggleFlightEvent;
1310
import org.eclipse.jdt.annotation.NonNull;
1411

12+
import world.bentobox.bentobox.BentoBox;
1513
import world.bentobox.bentobox.api.events.island.IslandEnterEvent;
1614
import world.bentobox.bentobox.api.events.island.IslandExitEvent;
1715
import world.bentobox.bentobox.api.localization.TextVariables;
@@ -42,16 +40,14 @@ public FlyListener(final IslandFlyAddon islandFlyAddon) {
4240

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

5652
}
5753
}

0 commit comments

Comments
 (0)