package com.alttd.halloween; import com.alttd.halloween.leaderboard.Leaderboard; import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolManager; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.plugin.java.JavaPlugin; import java.util.concurrent.atomic.AtomicInteger; @Slf4j public class Main extends JavaPlugin { AtomicInteger ai = new AtomicInteger(0); @Getter private ProtocolManager protocolManager; @Override public void onEnable() { log.info("Halloween2024 enabled!"); World world = Bukkit.getWorld("world"); Location location = new Location(world, 34, 122, 8); Leaderboard halloween2024 = new Leaderboard(location, 5, protocolManager, "Halloween2024"); Bukkit.getScheduler().runTaskTimer(this, () -> Bukkit.getOnlinePlayers().forEach(player -> { log.info("Adding viewer {}", player.getName()); halloween2024.addViewer(player); }), 20, 20); Bukkit.getScheduler().runTaskTimer(this, () -> halloween2024.updateScoreboard((line -> { log.info("Updating line {} iteration {}", line, ai.get()); return String.format("This is line %d called %d times", line, ai.getAndIncrement()); })), 0, 20); } @Override public void onLoad() { protocolManager = ProtocolLibrary.getProtocolManager(); } @Override public void onDisable() { log.info("Halloween2024 disabled!"); } }