mirror of
https://github.com/Freezy-Studios/BlazeSMP.git
synced 2025-04-21 15:34:04 +02:00
141 lines
No EOL
4.9 KiB
Java
141 lines
No EOL
4.9 KiB
Java
package me.freezy.plugins.papermc.blazesmp;
|
|
|
|
import lombok.Getter;
|
|
import me.freezy.plugins.papermc.blazesmp.command.*;
|
|
import me.freezy.plugins.papermc.blazesmp.listener.*;
|
|
import me.freezy.plugins.papermc.blazesmp.module.manager.Clans;
|
|
import me.freezy.plugins.papermc.blazesmp.module.manager.Homes;
|
|
import me.freezy.plugins.papermc.blazesmp.module.manager.L4M4;
|
|
import me.freezy.plugins.papermc.blazesmp.module.manager.ProtectedBlocks;
|
|
import me.freezy.plugins.papermc.blazesmp.tasks.PlayerNameUpdate;
|
|
import me.freezy.plugins.papermc.blazesmp.tasks.TabListTimer;
|
|
import org.bukkit.NamespacedKey;
|
|
import org.bukkit.configuration.file.FileConfiguration;
|
|
import org.bukkit.plugin.PluginManager;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
import org.bukkit.scheduler.BukkitTask;
|
|
import org.bukkit.scoreboard.Team;
|
|
import org.slf4j.Logger;
|
|
|
|
public final class BlazeSMP extends JavaPlugin {
|
|
@Getter private static BlazeSMP instance;
|
|
@Getter private Homes homes;
|
|
@Getter private ProtectedBlocks protectedBlocks;
|
|
@Getter private Clans clans;
|
|
@Getter private FileConfiguration configuration;
|
|
@Getter private Logger log;
|
|
@Getter private BukkitTask nameUpdateTask;
|
|
@Getter private BukkitTask tabListUpdateTask;
|
|
private boolean isEndOpen;
|
|
|
|
@Override
|
|
public void onLoad() {
|
|
this.log = getSLF4JLogger();
|
|
|
|
this.log.info("Loading BlazeSMP...");
|
|
|
|
this.log.info("Loading ProtectedBlocks...");
|
|
this.protectedBlocks = new ProtectedBlocks();
|
|
this.protectedBlocks.load();
|
|
this.log.info("Loaded ProtectedBlocks!");
|
|
|
|
this.log.info("Loading config...");
|
|
saveDefaultConfig();
|
|
this.configuration = getConfig();
|
|
saveConfig();
|
|
this.log.info("Loaded config!");
|
|
|
|
this.log.info("Loading L4M4...");
|
|
L4M4.init();
|
|
this.log.info("Loaded L4M4!");
|
|
|
|
this.log.info("Loaded BlazeSMP!");
|
|
}
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
BlazeSMP.instance = this;
|
|
isEndOpen = getConfig().getBoolean("isEndOpen", false);
|
|
|
|
this.log.info("Enabling BlazeSMP...");
|
|
|
|
this.getServer().getScheduler().runTaskLater(this, () -> {
|
|
this.log.info("Loading Clans...");
|
|
this.clans = new Clans();
|
|
this.clans.loadAllClans();
|
|
this.log.info("Loaded Clans!");
|
|
|
|
this.log.info("Loading Homes...");
|
|
this.homes = new Homes();
|
|
this.homes.load();
|
|
this.log.info("Loaded Homes!");
|
|
}, 20L);
|
|
|
|
this.log.info("Registering Commands...");
|
|
new ClanCommand().register();
|
|
new ReportCommand().register();
|
|
new ClaimCommand().register();
|
|
new HomeCommand().register();
|
|
new DiscordCommand().register();
|
|
new ReloadCommand().register();
|
|
new VanishCommand().register();
|
|
new EventCommand(this).register();
|
|
this.log.info("Registered Commands!");
|
|
|
|
this.log.info("Registering EventListeners...");
|
|
PluginManager pm = getServer().getPluginManager();
|
|
pm.registerEvents(new PlayerJoinListener(), this);
|
|
pm.registerEvents(new PlayerChatListener(), this);
|
|
pm.registerEvents(new PlayerCommandBlockerListener(), this);
|
|
pm.registerEvents(new PlayerClaimListener(), this);
|
|
pm.registerEvents(new ChunkInventoryListener(), this);
|
|
pm.registerEvents(new PressurePlateListener(), this);
|
|
pm.registerEvents(new PlayerVsPlayerListener(clans), this);
|
|
//pm.registerEvents(new ProtectedBlockListener(), this);
|
|
this.log.info("Registered EventListeners!");
|
|
|
|
this.log.info("Starting Timer tasks...");
|
|
this.nameUpdateTask = new PlayerNameUpdate().runTaskTimer(this, 0L, 20L);
|
|
this.tabListUpdateTask = new TabListTimer().runTaskTimer(this, 0L, 20L);
|
|
this.log.info("Started Timer tasks!");
|
|
|
|
this.log.info("Enabled BlazeSMP!");
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
this.log.info("Disabling BlazeSMP...");
|
|
|
|
this.log.info("Cancelling Timer tasks...");
|
|
this.nameUpdateTask.cancel();
|
|
this.log.info("Cancelled Timer tasks!");
|
|
|
|
this.log.info("Saving Homes...");
|
|
this.homes.save();
|
|
this.log.info("Saved Homes!");
|
|
|
|
this.log.info("Saving ProtectedBlocks...");
|
|
this.protectedBlocks.save();
|
|
this.log.info("Saved ProtectedBlocks!");
|
|
|
|
this.log.info("Saving Clans...");
|
|
this.clans.saveAllClans();
|
|
this.log.info("Saved Clans!");
|
|
|
|
this.log.info("Clearing Teams...");
|
|
getServer().getScoreboardManager().getMainScoreboard().getTeams().forEach(Team::unregister);
|
|
this.log.info("Cleared Teams!");
|
|
|
|
this.log.info("Disabling BlazeSMP!");
|
|
}
|
|
|
|
public boolean isEndOpen() {
|
|
return isEndOpen;
|
|
}
|
|
|
|
public void setEndOpen(boolean endOpen) {
|
|
isEndOpen = endOpen;
|
|
getConfig().set("isEndOpen", endOpen);
|
|
saveConfig();
|
|
}
|
|
} |