Skip to content

Commit a2757a7

Browse files
committed
Fix bug where returning to own island would always turn on flight
1 parent 4ea259c commit a2757a7

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.bukkit.event.player.PlayerToggleFlightEvent;
1010
import org.eclipse.jdt.annotation.NonNull;
1111

12-
import world.bentobox.bentobox.BentoBox;
1312
import world.bentobox.bentobox.api.events.island.IslandEnterEvent;
1413
import world.bentobox.bentobox.api.events.island.IslandExitEvent;
1514
import world.bentobox.bentobox.api.localization.TextVariables;
@@ -45,11 +44,10 @@ public void onToggleFlight(final PlayerToggleFlightEvent event) {
4544
user.sendMessage("islandfly.not-allowed");
4645
} else {
4746
addon.getIslands().getIslandAt(user.getLocation())
48-
.filter(i -> i.getMemberSet().contains(user.getUniqueId())).ifPresent(
49-
is -> {
50-
user.putMetaData(ISLANDFLY + is.getUniqueId(), new MetaDataValue(event.isFlying()));
51-
addon.getPlayers().savePlayer(user.getUniqueId());
52-
});
47+
.filter(i -> i.getMemberSet().contains(user.getUniqueId())).ifPresent(is -> {
48+
user.putMetaData(ISLANDFLY + is.getUniqueId(), new MetaDataValue(event.isFlying()));
49+
addon.getPlayers().savePlayer(user.getUniqueId());
50+
});
5351

5452
}
5553
}
@@ -72,8 +70,10 @@ public void onEnterIsland(final IslandEnterEvent event) {
7270
final User user = User.getInstance(event.getPlayerUUID());
7371
user.getMetaData(ISLANDFLY + event.getIsland().getUniqueId())
7472
.ifPresent(mdv -> {
75-
user.getPlayer().setAllowFlight(true);
76-
user.getPlayer().setFlying(mdv.asBoolean());
73+
if (mdv.asBoolean()) {
74+
user.getPlayer().setAllowFlight(true);
75+
user.getPlayer().setFlying(mdv.asBoolean());
76+
}
7777
});
7878
// Wait until after arriving at the island
7979
Bukkit.getScheduler().runTask(this.addon.getPlugin(), () -> checkUser(user));

0 commit comments

Comments
 (0)