mirror of
https://github.com/songoda/FabledSkyBlock.git
synced 2025-03-12 14:39:12 +01:00
Working hotfix for 1.8 island disappear
This commit is contained in:
parent
652a53010c
commit
1055f755d8
@ -230,23 +230,20 @@ public class Move implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
public void onTeleport(PlayerTeleportEvent e) {
|
public void onTeleport(PlayerTeleportEvent e) { // TODO We should wait for the player island to be loaded in 1.8.8 - Fabrimat
|
||||||
|
|
||||||
final Player player = e.getPlayer();
|
final Player player = e.getPlayer();
|
||||||
final WorldManager worldManager = skyblock.getWorldManager();
|
final WorldManager worldManager = skyblock.getWorldManager();
|
||||||
|
if(e.getTo() != null && e.getTo().getWorld() != null){
|
||||||
if (e.getTo() == null ||
|
e.getTo().getWorld().loadChunk(e.getTo().getChunk());
|
||||||
!worldManager.isIslandWorld(e.getTo().getWorld()) ||
|
if(worldManager.isIslandWorld(e.getTo().getWorld()) && e.getTo().distance(e.getFrom()) > 1.0d){ // We should not care of self block tp
|
||||||
skyblock.getIslandManager().getIslandAtLocation(e.getTo()) != null)
|
if(skyblock.getIslandManager().getIslandAtLocation(e.getTo()) == null){
|
||||||
return;
|
|
||||||
|
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
|
|
||||||
Bukkit.getScheduler().runTaskLater(skyblock, () -> {
|
|
||||||
if (e.getTo() != null && worldManager.isIslandWorld(e.getTo().getWorld()) && skyblock.getIslandManager().getIslandAtLocation(e.getTo()) == null)
|
|
||||||
skyblock.getMessageManager().sendMessage(player,
|
skyblock.getMessageManager().sendMessage(player,
|
||||||
skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml")).getFileConfiguration().getString("Island.WorldBorder.Disappeared.Message"));
|
skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml"))
|
||||||
|
.getFileConfiguration().getString("Island.WorldBorder.Disappeared.Message"));
|
||||||
skyblock.getSoundManager().playSound(player, CompatibleSound.ENTITY_ENDERMAN_TELEPORT.getSound(), 1.0F, 1.0F);
|
skyblock.getSoundManager().playSound(player, CompatibleSound.ENTITY_ENDERMAN_TELEPORT.getSound(), 1.0F, 1.0F);
|
||||||
}, 10L); // 2 ticks are good, 10 because we don't know the cause yet
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user