001package com.ericlam.mc.eld; 002 003import org.bukkit.plugin.java.JavaPlugin; 004 005/** 006 * 用於主類繼承 007 */ 008public abstract class ELDBukkitPlugin extends JavaPlugin implements ELDPlugin { 009 010 @Override 011 public final void onLoad() { 012 final var provider = ELDependenci.getApi().register(this, this::bindServices); 013 this.manageProvider((BukkitManagerProvider) provider); 014 } 015 016 @Override 017 public final void onEnable() { 018 getLogger().info("Enabling plugin " + this.getName()); 019 getLogger().info("This plugin is hooking the lifecycle of ELDependenci framework."); 020 } 021 022 @Override 023 public final void onDisable() { 024 getLogger().info("Disabling plugin " + this.getName()); 025 } 026 027 /** 028 * 用於生命週期之前的操作 029 * 030 * @param provider 管理器提供 031 */ 032 protected abstract void manageProvider(BukkitManagerProvider provider); 033 034 @Override 035 public void saveResource(String path) { 036 super.saveResource(path, true); 037 } 038}