Use @LinkedTimer for the timers of linked classes

The repeating timers that linked classes and the plugin main classes started
once for the whole runtime now use @LinkedTimer, on Spigot (BauSystem,
SpigotCore, LobbySystem, MissileWars, TowerRun, Teamserver) and Velocity.
The FightInfoPacketSenders of MissileWars and TowerRun are linked themselves
instead of being started by the main class.
This commit is contained in:
2026-10-31 16:26:34 +01:00
parent 9598b1c961
commit 9fd2bd17d4
23 changed files with 241 additions and 217 deletions
@@ -20,6 +20,7 @@
package de.steamwar.teamserver.listener;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.LinkedTimer;
import de.steamwar.teamserver.Builder;
import net.md_5.bungee.api.ChatMessageType;
import org.bukkit.Bukkit;
@@ -41,13 +42,12 @@ public class FreezeListener implements Listener {
public static boolean freeze = true;
public FreezeListener() {
Bukkit.getScheduler().runTaskTimer(Builder.getInstance(), () -> {
if (!freeze) return;
Bukkit.getOnlinePlayers().forEach(player -> {
Builder.MESSAGE.sendPrefixless("REGION_FREEZE_ENABLED", player, ChatMessageType.ACTION_BAR);
});
}, 1, 1);
@LinkedTimer(delay = 1, period = 1)
private void showFreeze() {
if (!freeze) return;
Bukkit.getOnlinePlayers().forEach(player -> {
Builder.MESSAGE.sendPrefixless("REGION_FREEZE_ENABLED", player, ChatMessageType.ACTION_BAR);
});
}
@EventHandler