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