我有我的主类Main.java(onEnable方法) 和另外 3 个人。
在 Main.java 中我正在注册其他类:
new Example(this);
new Shop(this);
new Info(this);
在课程本身中,我使用这种结构:
public class Shop implements Listener {
private final JavaPlugin plugin;
public Shop(JavaPlugin plugin) {
this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
问题要点:我在某处读到可以避免在main方法中编写类注册(因为它占用大量空间并使代码不可读)如何摆脱
new Example(this);
new Shop(this);
new Info(this);
我已经尝试过
plugin = this;
但它不起作用。
我个人会这么做
public static void main(String[] args) {
List<Listener> listeners = List.of(
new Example(),
new Shop(),
new Info()
);
JavaPlugin plugin = new JavaPlugin(...);
PluginManager pluginManager = plugin.getServer().getPluginManager();
for (Listener listener : listeners) {
pluginManager.registerEvents(listener, plugin);
}
}