Commit f4ada349 authored by Ashijin's avatar Ashijin
Browse files

Fixed accessories/backpacks sometimes disappearing after teleporting

parent fa1ebd04
......@@ -18,6 +18,7 @@ import java.io.File;
import org.bukkit.GameMode;
import org.bukkit.event.player.PlayerChangedWorldEvent;
import org.bukkit.event.player.PlayerGameModeChangeEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
public class BackManager extends MCCosmeticsManager<BackAccessory> implements HideableCosmetic {
......@@ -45,6 +46,21 @@ public class BackManager extends MCCosmeticsManager<BackAccessory> implements Hi
})
.bindWith(this);
Events.subscribe(PlayerTeleportEvent.class)
.handler(event -> {
final var player = event.getPlayer();
final var profile = plugin.getProfiles().getProfile(player);
if(profile.getEquipped(BackAccessory.class).isPresent()) {
unequip(profile);
Schedulers.sync().runLater(() -> {
equip(profile);
}, 5);
}
})
.bindWith(this);
Events.subscribe(PlayerGameModeChangeEvent.class)
.handler(event -> {
if(event.getNewGameMode() == GameMode.SPECTATOR) {
......
......@@ -18,6 +18,7 @@ import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerChangedWorldEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import java.io.File;
......@@ -72,6 +73,21 @@ public class MEGManager extends MCCosmeticsManager<MEGAccessory> {
})
.bindWith(this);
Events.subscribe(PlayerTeleportEvent.class)
.handler(event -> {
final var player = event.getPlayer();
final var profile = plugin.getProfiles().getProfile(player);
if(profile.getEquipped(MEGAccessory.class).isPresent()) {
unequip(profile);
Schedulers.sync().runLater(() -> {
equip(profile);
}, 5);
}
})
.bindWith(this);
Events.subscribe(PlayerQuitEvent.class)
.handler(event -> {
final Player player = event.getPlayer();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment