63 lines
2.0 KiB
Java
63 lines
2.0 KiB
Java
package wtf.beatrice.limbomanager;
|
|
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.plugin.PluginManager;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
import wtf.beatrice.limbomanager.listeners.CommandCanceller;
|
|
import wtf.beatrice.limbomanager.listeners.PlayerChecker;
|
|
import wtf.beatrice.limbomanager.listeners.PlayerTeleporter;
|
|
import wtf.beatrice.limbomanager.listeners.RiskyBlocksHandler;
|
|
import wtf.beatrice.limbomanager.objects.LocationCheckRunnable;
|
|
|
|
import java.io.File;
|
|
|
|
public class LimboManager extends JavaPlugin {
|
|
|
|
private PluginManager pluginManager;
|
|
private static String schematicsFolderPath;
|
|
private static LimboManager instance;
|
|
|
|
@Override
|
|
public void onEnable()
|
|
{
|
|
instance = this;
|
|
pluginManager = Bukkit.getServer().getPluginManager();
|
|
|
|
pluginManager.registerEvents(new PlayerChecker(), this);
|
|
pluginManager.registerEvents(new PlayerTeleporter(), this);
|
|
pluginManager.registerEvents(new CommandCanceller(), this);
|
|
pluginManager.registerEvents(new RiskyBlocksHandler(), this);
|
|
|
|
// no need to check if it exists, it will just skip creation.
|
|
getDataFolder().mkdirs();
|
|
schematicsFolderPath = getDataFolder().getAbsolutePath() + File.separator + "schematics";
|
|
getSchematicsFolder().mkdirs();
|
|
|
|
// start location check runnable
|
|
Cache.locationCheckRunnable = new LocationCheckRunnable();
|
|
Cache.locationCheckRunnable.task = Bukkit.getScheduler().runTaskTimerAsynchronously(this, Cache.locationCheckRunnable, 10L, 5L);
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
public void onDisable()
|
|
{
|
|
|
|
// cancel running tasks
|
|
|
|
if(Cache.locationCheckRunnable != null && Cache.locationCheckRunnable.task != null)
|
|
{
|
|
Bukkit.getScheduler().cancelTask(Cache.locationCheckRunnable.task.getTaskId());
|
|
}
|
|
}
|
|
|
|
public static LimboManager getInstance()
|
|
{
|
|
return instance;
|
|
}
|
|
|
|
public static File getSchematicsFolder() {
|
|
return new File(schematicsFolderPath);
|
|
}
|
|
} |