Files
hamster-script/src/main/java/cn/hamster3/mc/plugin/script/HamsterScriptPlugin.java

56 lines
1.8 KiB
Java

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<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) {
return ScriptCommand.INSTANCE.onTabComplete(sender, command, alias, args);
}
}