SR-Game/src/main/java/me/unurled/sacredrealms/sr/managers/Manager.java
2024-03-11 16:26:30 +01:00

47 lines
1.1 KiB
Java

package me.unurled.sacredrealms.sr.managers;
import me.unurled.sacredrealms.sr.SR;
import org.bukkit.Bukkit;
import org.bukkit.event.Listener;
public class Manager implements Listener {
/** Constructor for the Manager class */
public Manager() {
SR.getInstance().getManagers().addManager(this);
Bukkit.getScheduler()
.runTaskAsynchronously(
SR.getInstance(),
() -> {
load();
Bukkit.getPluginManager().registerEvents(this, SR.getInstance());
});
}
/**
* Get an instance of a manager
*
* @param clazz The class of the manager
* @return The instance of the manager
* @param <T> The type of the manager
*/
public static <T extends Manager> T getInstance(Class<T> clazz) {
return clazz.cast(SR.getInstance().getManagers().getManager(clazz));
}
/** Load the manager */
public void load() {
loadData();
}
/** Unload the manager */
public void unload() {
saveData();
}
/** Save the data */
public void saveData() {}
/** Load the data */
public void loadData() {}
}