feat: show animation during cooldown
This commit is contained in:
parent
59c5b5cec9
commit
190be306ef
1 changed files with 49 additions and 6 deletions
|
@ -5,15 +5,22 @@ import java.time.Instant;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
|
|
||||||
|
import com.destroystokyo.paper.Title;
|
||||||
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
|
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.World.Environment;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.event.server.ServerListPingEvent;
|
import org.bukkit.event.server.ServerListPingEvent;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
import de.cliffbreak.varo.Varo;
|
import de.cliffbreak.varo.Varo;
|
||||||
import de.cliffbreak.varo.uitls.PacketReader;
|
import de.cliffbreak.varo.uitls.PacketReader;
|
||||||
|
@ -35,12 +42,15 @@ public class PlayerJoinQuitListener implements Listener {
|
||||||
"hat den Server verlassen."));
|
"hat den Server verlassen."));
|
||||||
}
|
}
|
||||||
this.plugin.getTeamManager().setAFK(e.getPlayer().getName());
|
this.plugin.getTeamManager().setAFK(e.getPlayer().getName());
|
||||||
|
if (!e.getPlayer().getLocation().getWorld().getEnvironment().equals(Environment.THE_END)) {
|
||||||
|
this.plugin.getPlayerCache().setPlayerLocationCache(e.getPlayer().getUniqueId().toString().replace("-", ""),
|
||||||
|
e.getPlayer().getLocation());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerJoin(final PlayerJoinEvent e) {
|
public void onPlayerJoin(final PlayerJoinEvent e) {
|
||||||
e.setJoinMessage(null);
|
e.setJoinMessage(null);
|
||||||
this.plugin.getNPCManager().removeClone(e.getPlayer());
|
|
||||||
this.plugin.getNPCManager().syncClones(e.getPlayer());
|
this.plugin.getNPCManager().syncClones(e.getPlayer());
|
||||||
|
|
||||||
this.plugin.getTeamManager().setTeam(e.getPlayer());
|
this.plugin.getTeamManager().setTeam(e.getPlayer());
|
||||||
|
@ -52,11 +62,6 @@ public class PlayerJoinQuitListener implements Listener {
|
||||||
Bukkit.broadcast(
|
Bukkit.broadcast(
|
||||||
this.plugin.getMessageUtils().getServiceMessage(e.getPlayer().getName(), "hat den Server betreten."));
|
this.plugin.getMessageUtils().getServiceMessage(e.getPlayer().getName(), "hat den Server betreten."));
|
||||||
|
|
||||||
if (this.plugin.getConfig().getBoolean("Varo.Debug")) {
|
|
||||||
e.getPlayer().sendMessage("\n§7§l######### §9Cliffbreak.de - §lVaro §7§l#########\n \n"
|
|
||||||
+ " §cWarning: §r§c Plugin is running in DEBUG mode!\n ");
|
|
||||||
}
|
|
||||||
|
|
||||||
new BukkitRunnable() {
|
new BukkitRunnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -64,6 +69,44 @@ public class PlayerJoinQuitListener implements Listener {
|
||||||
"73046237cc843964dbe32fb9c76c0144cdbf90af");
|
"73046237cc843964dbe32fb9c76c0144cdbf90af");
|
||||||
}
|
}
|
||||||
}.runTaskLater(plugin, 5); // wait 5 ticks
|
}.runTaskLater(plugin, 5); // wait 5 ticks
|
||||||
|
|
||||||
|
// Login cooldown + Animation
|
||||||
|
final Player p = e.getPlayer();
|
||||||
|
World w = null;
|
||||||
|
for (World world : Bukkit.getWorlds()) {
|
||||||
|
if (world.getEnvironment().equals(Environment.THE_END)) {
|
||||||
|
w = world;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p.teleport(new Location(w, 0, 0, 100));
|
||||||
|
p.setGameMode(GameMode.SPECTATOR);
|
||||||
|
p.setFlying(true);
|
||||||
|
p.setFlySpeed(0.0f);
|
||||||
|
final Title title = new Title("Varo 2020", "Bitte warte, bis das Spiel geladen hat...", 20, 8 * 20, 20);
|
||||||
|
p.sendTitle(title);
|
||||||
|
|
||||||
|
final BukkitTask hidePlayersTask = new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers())
|
||||||
|
p.hidePlayer(plugin, player);
|
||||||
|
}
|
||||||
|
}.runTaskTimer(this.plugin, 0l, 1l);
|
||||||
|
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
plugin.getNPCManager().removeClone(e.getPlayer());
|
||||||
|
p.setGameMode(GameMode.SURVIVAL);
|
||||||
|
p.setFlySpeed(0.1f);
|
||||||
|
p.setFlying(false);
|
||||||
|
p.teleport(plugin.getPlayerCache().getPlayerLocationCache(p.getUniqueId().toString().replace("-", "")));
|
||||||
|
hidePlayersTask.cancel();
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers())
|
||||||
|
p.showPlayer(plugin, player);
|
||||||
|
}
|
||||||
|
}.runTaskLater(this.plugin, 10 * 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
|
Loading…
Reference in a new issue