Skip to content

Commit 3edb5a1

Browse files
committed
Fix player flight state assignment
Resolved an issue where `setFlying` and `setAllowFlight` were not updating properly clientside due to being set prematurely before other attributes.
1 parent 6a2162e commit 3edb5a1

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/main/java/net/thenextlvl/perworlds/model/PaperPlayerData.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -291,11 +291,6 @@ private void load(Player player, WorldGroup group) {
291291
player.setGameMode(settings.gameMode() && previousGameMode != null ? previousGameMode : defaultGameMode);
292292
player.setGameMode(settings.gameMode() && gameMode != null ? gameMode : defaultGameMode);
293293

294-
player.setAllowFlight((settings.flyState() ? mayFly : DEFAULT_MAY_FLY)
295-
.toBooleanOrElseGet(() -> player.getGameMode().isInvulnerable()));
296-
player.setFlying((settings.flyState() ? flying : DEFAULT_FLYING)
297-
.toBooleanOrElseGet(() -> player.getGameMode().equals(GameMode.SPECTATOR)));
298-
299294
applyAttributes(player, settings);
300295

301296
player.setGliding(settings.gliding() ? gliding : DEFAULT_GLIDING);
@@ -341,6 +336,11 @@ private void load(Player player, WorldGroup group) {
341336
player.setFlySpeed(Math.clamp(settings.flySpeed() ? flySpeed : DEFAULT_FLY_SPEED, -1, 1));
342337
player.setWalkSpeed(Math.clamp(settings.walkSpeed() ? walkSpeed : DEFAULT_WALK_SPEED, -1, 1));
343338

339+
player.setAllowFlight((settings.flyState() ? mayFly : DEFAULT_MAY_FLY)
340+
.toBooleanOrElseGet(() -> player.getGameMode().isInvulnerable()));
341+
player.setFlying((settings.flyState() ? flying : DEFAULT_FLYING)
342+
.toBooleanOrElseGet(() -> player.getGameMode().equals(GameMode.SPECTATOR)));
343+
344344
player.clearActivePotionEffects();
345345
if (settings.potionEffects()) player.addPotionEffects(potionEffects);
346346

0 commit comments

Comments
 (0)