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 ca59167..a3cefdc 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 @@ -56,8 +56,6 @@ public class Deathrun extends Appliance implements Event, Scorable { World world = Bukkit.getWorlds().getFirst(); world.getWorldBorder().setSize(world.getWorldBorder().getMaxSize()); - - this.getScoreboardBuilder().startAutomaticUpdates(); } @Override 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 cde5154..a156f42 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 @@ -44,6 +44,7 @@ public class EventController extends Appliance { public void startEvent() { if(this.selectedEvent == null) throw new ApplianceCommand.Error("There is no event selected!"); this.selectedEvent.start(); + if(this.selectedEvent instanceof Scorable scorable && scorable.automaticUpdates()) scorable.getScoreboardBuilder().startAutomaticUpdates(); } public void stopEvent() { diff --git a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/Scorable.java b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/Scorable.java index 6b0ebd9..dab46cf 100644 --- a/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/Scorable.java +++ b/event/src/main/java/eu/mhsl/craftattack/spawn/event/appliances/eventController/Scorable.java @@ -5,6 +5,9 @@ import org.bukkit.entity.Player; public interface Scorable { String getScoreboardName(); + default boolean automaticUpdates() { + return true; + } EventScoreboardBuilder getScoreboardBuilder(); int getScore(Player p); }