refactoring Managers

This commit is contained in:
unurled 2024-03-14 16:58:55 +01:00
parent 8b370a8e85
commit c7dde27a82
Signed by: unurled
GPG key ID: FDBC9CBE1F82423F

View file

@ -1,5 +1,8 @@
package me.unurled.sacredrealms.sr.managers;
import static me.unurled.sacredrealms.sr.utils.Logger.error;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import me.unurled.sacredrealms.sr.SR;
@ -20,18 +23,36 @@ public class Managers {
managers = new ArrayList<>();
// register managers here (like a new instance of them)
register(
List.of(
DataManager.class,
PlayerManager.class,
ItemManager.class,
CombatManager.class,
CommandManager.class,
EntityManager.class,
ClientBuildManager.class));
}
private void register(List<Class<? extends Manager>> clazz) {
int i = 0;
for (Class<? extends Manager> c : clazz) {
Bukkit.getScheduler()
.runTaskLater(
SR.getInstance(),
() -> {
new DataManager();
new PlayerManager();
new ItemManager();
new CombatManager();
new CommandManager();
new EntityManager();
try {
c.getDeclaredConstructor().newInstance();
} catch (InstantiationException
| IllegalAccessException
| InvocationTargetException
| NoSuchMethodException e) {
error("Failed to register manager: " + c.getSimpleName());
}
},
10L);
5L * i);
i++;
}
}
public void addManager(Manager manager) {