48 lines
1.5 KiB
Java
48 lines
1.5 KiB
Java
|
|
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!");
|
||
|
|
}
|
||
|
|
}
|