refactoring Managers
This commit is contained in:
parent
8b370a8e85
commit
c7dde27a82
1 changed files with 33 additions and 12 deletions
|
@ -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) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue