diff --git a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/deathrun/Deathrun.java b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/deathrun/Deathrun.java index 74d782e..9bfd80c 100644 --- a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/deathrun/Deathrun.java +++ b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/deathrun/Deathrun.java @@ -127,7 +127,7 @@ public class Deathrun extends Appliance implements Event, Scorable { public void stop() { this.getScoreboardBuilder().stopAutomaticUpdates(); Title title = Title.title(Component.text("Ende!"), Component.empty()); - this.pvpTask.cancel(); + if(this.pvpTask != null) this.pvpTask.cancel(); this.pvpDisabled = true; Bukkit.getOnlinePlayers().forEach(player -> { player.showTitle(title); diff --git a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/EventController.java b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/EventController.java index 818e2dc..bdc8206 100644 --- a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/EventController.java +++ b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/EventController.java @@ -18,6 +18,7 @@ import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.GameRule; import org.bukkit.Statistic; +import org.bukkit.event.Listener; import org.jetbrains.annotations.NotNull; import java.util.List; @@ -86,7 +87,7 @@ public class EventController extends Appliance { } public void scheduleStart(long durationMinutes) { - if(this.selectedEvent == null) throw new ApplianceCommand.Error("There is no event selected!"); + if(!this.hasLoadedEvent()) throw new ApplianceCommand.Error("There is no event selected!"); this.durationMinutes = durationMinutes; this.countdown.start(); } @@ -188,6 +189,13 @@ public class EventController extends Appliance { return String.format("%02d:%02d:%02d", seconds / 3600, (seconds / 60) % 60, seconds % 60); } + @Override + protected @NotNull List listeners() { + return List.of( + new EventPlayerLoginListener() + ); + } + @Override protected @NotNull List> commands() { return List.of( diff --git a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/EventPlayerLoginListener.java b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/EventPlayerLoginListener.java index 15bb354..8f88700 100644 --- a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/EventPlayerLoginListener.java +++ b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/EventPlayerLoginListener.java @@ -8,7 +8,7 @@ import org.bukkit.event.player.PlayerJoinEvent; public class EventPlayerLoginListener extends ApplianceListener { @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { - if(event.getPlayer().hasPermission("admin")) return; + if(event.getPlayer().isOp()) return; if(this.getAppliance().hasLoadedEvent()) return; event.getPlayer().kick(Component.text("Es ist kein Event geladen.")); }