package cn.hamster3.mc.plugin.script; import cn.hamster3.mc.plugin.script.command.ScriptCommand; import cn.hamster3.mc.plugin.script.core.ScriptManager; import cn.hamster3.mc.plugin.script.listener.MainListener; import lombok.Getter; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.event.EventPriority; import org.bukkit.event.HandlerList; import org.bukkit.plugin.RegisteredListener; import org.bukkit.plugin.java.JavaPlugin; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; public class HamsterScriptPlugin extends JavaPlugin { @Getter private static HamsterScriptPlugin instance; @Override public void onLoad() { instance = this; } @Override public void onEnable() { ScriptManager.init(); for (HandlerList list : HandlerList.getHandlerLists()) { list.register(new RegisteredListener( MainListener.INSTANCE, (listener, event) -> MainListener.INSTANCE.onEvent(event), EventPriority.NORMAL, this, false )); } } public ClassLoader getPluginClassLoader() { return getClassLoader(); } @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { return ScriptCommand.INSTANCE.onCommand(sender, command, label, args); } @Nullable @Override public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) { return ScriptCommand.INSTANCE.onTabComplete(sender, command, alias, args); } }