From 36520a87f9dec645a424d45ff7e53ec3617ed3b1 Mon Sep 17 00:00:00 2001 From: lars Date: Fri, 19 Dec 2025 12:58:10 +0100 Subject: [PATCH] moved automatic scoreboard update start to EventController --- .../craftattack/spawn/event/appliances/deathrun/Deathrun.java | 2 -- .../event/appliances/eventController/EventController.java | 1 + .../spawn/event/appliances/eventController/Scorable.java | 3 +++ 3 files changed, 4 insertions(+), 2 deletions(-) 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); }