ServerLite/src/main/java/de/npid7/serverlite/D7ServerLite.java

80 lines
2.6 KiB
Java
Raw Normal View History

2024-11-23 18:17:14 +01:00
package de.npid7.serverlite;
import de.npid7.serverlite.Commands.D7Command;
import de.npid7.serverlite.Commands.PlaytimeCommand;
2024-11-23 19:14:39 +01:00
import de.npid7.serverlite.Commands.StatusCommand;
import de.npid7.serverlite.Commands.TimerCommand;
2024-11-23 19:14:39 +01:00
import de.npid7.serverlite.Configs.PlayerConfig;
import de.npid7.serverlite.Configs.PluginConfig;
import de.npid7.serverlite.Listeners.JoinListener;
import de.npid7.serverlite.TabCompleters.D7Completer;
import de.npid7.serverlite.TabCompleters.PlaytimeCompleter;
2024-11-23 19:14:39 +01:00
import de.npid7.serverlite.TabCompleters.StatusCompleter;
import de.npid7.serverlite.TabCompleters.TimerCompleter;
2024-11-23 19:14:39 +01:00
import de.npid7.serverlite.Tasks.TablistTask;
2024-11-23 18:17:14 +01:00
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
/*
* d7serverlite java plugin
*/
public class D7ServerLite extends JavaPlugin {
// Declare static Instance To access with getInst();
// using this to access Configs from this Class
2024-11-23 18:17:14 +01:00
private static D7ServerLite inst;
// declare TablistTask and Configs
2024-11-23 18:17:14 +01:00
private TablistTask tablistUpdater;
2024-11-23 19:14:39 +01:00
private PluginConfig pluginConfig;
private PlayerConfig playerConfig;
2024-11-23 18:17:14 +01:00
// Override onLoad to set static inst to this class
2024-11-23 18:17:14 +01:00
@Override
public void onLoad() {
inst = this;
}
// Override on Enabel to init the Plugin
2024-11-23 18:17:14 +01:00
@Override
public void onEnable() {
// Create Data Folder
2024-11-23 19:14:39 +01:00
if (!getDataFolder().exists()) {
getDataFolder().mkdirs();
}
// Init Configs
2024-11-23 19:14:39 +01:00
pluginConfig = new PluginConfig(getDataFolder() + "/config.json");
playerConfig = new PlayerConfig(getDataFolder() + "/player_config.json");
// Run Tablist Updater
2024-11-23 18:17:14 +01:00
tablistUpdater = new TablistTask();
// declare commands
2024-11-23 19:14:39 +01:00
getCommand("status").setExecutor(new StatusCommand());
getCommand("status").setTabCompleter(new StatusCompleter());
getCommand("d7").setExecutor(new D7Command());
getCommand("d7").setTabCompleter(new D7Completer());
getCommand("timer").setExecutor(new TimerCommand());
getCommand("trimer").setTabCompleter(new TimerCompleter());
getCommand("playtime").setExecutor(new PlaytimeCommand());
getCommand("playtime").setTabCompleter(new PlaytimeCompleter());
2024-11-23 19:14:39 +01:00
// Register onJoin Event to generate PlayerConfigEntry
2024-11-23 19:14:39 +01:00
Bukkit.getPluginManager().registerEvents(new JoinListener(), this);
2024-11-23 18:17:14 +01:00
}
/**
* Getters declared below
*/
2024-11-23 18:17:14 +01:00
public static D7ServerLite getInst() {
return inst;
}
2024-11-23 19:14:39 +01:00
public PluginConfig getPluginConfig() {
return this.pluginConfig;
}
public PlayerConfig getPlayerConfig() {
return this.playerConfig;
}
2024-11-23 18:17:14 +01:00
}