类 JavaPlugin

java.lang.Object
org.bukkit.plugin.PluginBase
org.bukkit.plugin.java.JavaPlugin
所有已实现的接口:
CommandExecutor, TabCompleter, TabExecutor, Plugin

public abstract class JavaPlugin extends PluginBase
一个Java插件的基类
  • 构造器详细资料

  • 方法详细资料

    • getDataFolder

      public final File getDataFolder()
      返回存放插件文件数据的文件夹. 文件夹可能不存在.

      原文: Returns the folder that the plugin data's files are located in. The folder may not yet exist.

      返回:
      文件夹
    • getPluginLoader

      public final PluginLoader getPluginLoader()
      获取这个插件关联的PluginLoader.

      原文: Gets the associated PluginLoader responsible for this plugin

      返回:
      PluginLoader控制的插件.
    • getServer

      public final Server getServer()
      返回正在运行此插件的服务器对象.

      原文: Returns the Server instance currently running this plugin

      返回:
      服务器正在运行的插件
    • isEnabled

      public final boolean isEnabled()
      返回插件是否已正常启用.

      原文: Returns a value indicating whether or not this plugin is currently enabled

      返回:
      插件是否启用
    • getFile

      protected File getFile()
      返回这个插件的文件.

      原文: Returns the file which contains this plugin

      返回:
      插件的核心文件
    • getDescription

      public final PluginDescriptionFile getDescription()
      返回插件的plugin.yml的内容的描述信息.

      原文: Returns the plugin.yaml file containing the details for this plugin

      返回:
      plugin.yml的内容描述信息
    • getConfig

      public FileConfiguration getConfig()
      从接口复制的说明: Plugin
      获取这个插件的FileConfiguration实例, 它将读取config.yml中的内容. 如果这个插件中含有config.yml文件, 那么这个config.yml将作为默认的配置文件.

      原文:Gets a FileConfiguration for this plugin, read through "config.yml"
      If there is a default config.yml embedded in this plugin, it will be provided as a default for this Configuration.

      返回:
      此插件的配置
    • getTextResource

      protected final Reader getTextResource(String file)
      提供jar中文本文件的读取器. 此方法依赖 PluginAwareness.Flags.UTF8 提供编码, 在没有 定义的情况下, 如果指定了 FileConfiguration#UTF8_OVERRIDE 将使用UTF8编码 否则使用系统默认的编码.

      原文: Provides a reader for a text file located inside the jar. The behavior of this method adheres to PluginAwareness.Flags.UTF8, or if not defined, uses UTF8 if FileConfiguration#UTF8_OVERRIDE is specified, or system default otherwise.

      参数:
      file - 需要加载的文本资源文件名
      返回:
      null 如果 getResource(String) 返回 null
      抛出:
      IllegalArgumentException - 如果文件为空, 抛出无效的参数(IllegalArgumentException)错误
      另请参阅:
    • reloadConfig

      public void reloadConfig()
      从接口复制的说明: Plugin
      丢弃 Plugin.getConfig()中所有数据并且从磁盘重载.

      原文:Discards any data in Plugin.getConfig() and reloads from disk.

    • saveConfig

      public void saveConfig()
      从接口复制的说明: Plugin
      保存插件的 FileConfiguration, 这可以使用Plugin.getConfig()获取.

      原文: Saves the FileConfiguration retrievable by Plugin.getConfig().

    • saveDefaultConfig

      public void saveDefaultConfig()
      从接口复制的说明: Plugin
      将默认的config.yml文件数据保存到Plugin.getConfig()获取的config.yml所在的位置.
      这不会覆盖已经存在的config.yml.

      原文:Saves the raw contents of the default config.yml file to the location retrievable by Plugin.getConfig().
      This should fail silently if the config.yml already exists.

    • saveResource

      public void saveResource(String resourcePath, boolean replace)
      从接口复制的说明: Plugin
      保存内置于插件的.jar文件的某个资源的原始内容(假使该资源可以使用Plugin.getResource(String)找到).
      保存于插件数据文件夹的资源的结构层次与.jar文件(内容)相同 (同时保存子目录).

      原文:Saves the raw contents of any resource embedded with a plugin's .jar file assuming it can be found using Plugin.getResource(String).
      The resource is saved into the plugin's data folder using the same hierarchy as the .jar file (subdirectories are preserved).

      参数:
      resourcePath - 在插件的.jar文件中查找的内置资源路径.(没有前面的斜杠)
      replace - 如果为true,则内置的资源将覆盖现有文件的内容
    • getResource

      public InputStream getResource(String filename)
      从接口复制的说明: Plugin
      获取此插件包中的资源.

      原文: Gets an embedded resource in this plugin

      参数:
      filename - 资源文件名
      返回:
      如果文件找到则返回相应的InputStream,否则为null
    • getClassLoader

      protected final ClassLoader getClassLoader()
      返回这个插件的ClassLoader.

      原文: Returns the ClassLoader which holds this plugin

      返回:
      ClassLoader控制的这个插件
    • setEnabled

      protected final void setEnabled(boolean enabled)
      设置插件开启的状态.

      原文: Sets the enabled state of this plugin

      参数:
      enabled - true表示设置插件为开启, false就是设置插件为关闭
    • onCommand

      public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
      执行给定的命令,成功时返回.

      原文:Executes the given command, returning its success

      参数:
      sender - 命令执行的来源
      command - 被执行的命令
      label - 使用的命令别名
      args - 传递的命令参数
      返回:
      如果是合法的命令则为true,否则为false
    • onTabComplete

      public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args)
      用命令传递的参数请求可能的补全项的list.

      原文:Requests a list of possible completions for a command argument.

      参数:
      sender - 发起命令的来源. 至于玩家在命令方块内补全命令,这个来源就是玩家,而不是命令方块.
      command - 执行的Command
      alias - 使用的别名
      args - 传递给这个命令的参数,包括用来补全的部分最终参数和命令别名
      返回:
      可能的最终补全参数列表(就是list里都是已经补全了的),或为null则传递给命令执行器
    • getCommand

      public PluginCommand getCommand(String name)
      获取这个插件在plugin.yml里注册的命令 命令需要在PluginDescriptionFile里已被注册

      原文: Gets the command with the given name, specific to this plugin. Commands need to be registered in the PluginDescriptionFile to exist at runtime.

      参数:
      name - 一个属于这个插件注册了的命令
      返回:
      如果有返回值表示命令存在, 否则返回null
    • onLoad

      public void onLoad()
      从接口复制的说明: Plugin
      在一个插件被加载之后启动之前调用.
      当有多个插件被加载时,确保所有插件的onLoad()全部调用完毕后才会调用onEnable().

      原文:Called after a plugin is loaded but before it has been enabled.
      When multiple plugins are loaded, the onLoad() for all plugins is called before any onEnable() is called.

    • onDisable

      public void onDisable()
      从接口复制的说明: Plugin
      当这个插件被关闭时调用.

      原文:Called when this plugin is disabled

    • onEnable

      public void onEnable()
      从接口复制的说明: Plugin
      启用此插件时调用.

      原文:Called when this plugin is enabled

    • getDefaultWorldGenerator

      public ChunkGenerator getDefaultWorldGenerator(String worldName, String id)
      从接口复制的说明: Plugin
      获取在服务器配置中指定的默认世界中使用的ChunkGenerator.

      原文:Gets a ChunkGenerator for use in a default world, as specified in the server configuration

      参数:
      worldName - 将应用于世界的名称
      id - 唯一 ID,如果有的话,被指定来指示哪个生成器被调用
      返回:
      用于默认世界生成的 ChunkGenerator
    • isNaggable

      public final boolean isNaggable()
      从接口复制的说明: Plugin
      使用一个简单的布尔值表达 我们是否可以把一些东西记录到日志文件.

      原文:Simple boolean if we can still nag to the logs about things

      返回:
      返回一个布尔值如果这个插件是否可以进行记录
    • setNaggable

      public final void setNaggable(boolean canNag)
      从接口复制的说明: Plugin
      设置 Naggable 状态

      原文: Set naggable state

      参数:
      canNag - 这个插件是可以被记录的吗
    • getLogger

      public final Logger getLogger()
      从接口复制的说明: Plugin
      返回与此服务器日志记录器关联的插件日志记录器.返回的日志记录器自动地用插件的名称标记所有日志消息.

      原文: Returns the plugin logger associated with this server's logger. The returned logger automatically tags all log messages with the plugin's name.

      返回:
      与此插件相关联的记录器
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object
    • getPlugin

      public static <T extends JavaPlugin> T getPlugin(Class<T> clazz)
      这个方法可以通过provided 的类来快速访问插件对象 . 这通常是创建插件对象.

      例外:如果插件jar中的类不能继承类, 将可能是不同的jar/类加载器.

      原文: This method provides fast access to the plugin that has provided the given plugin class, which is usually the plugin that implemented it.

      An exception to this would be if plugin's jar that contained the class does not extend the class, where the intended plugin would have resided in a different jar / classloader.

      类型参数:
      T - 任何一个继承了JavaPlugin的类
      参数:
      clazz - 类所需的类
      返回:
      该插件提供的类
      抛出:
      \u5982\u679c\u63d2\u4ef6\u6ca1\u6709\u7ee7\u627f\u6b64\u7c7b - JavaPlugin , 抛出无效的参数(IllegalArgumentException)错误
      IllegalStateException - 如果这个类不是插件提供的,抛出无效的状态(IllegalStateException)错误 for example, if called with JavaPlugin.getPlugin(JavaPlugin.class)
      IllegalStateException - if called from the static initializer for given JavaPlugin
      ClassCastException - 如果插件提供的类没有继承类, 抛出(ClassCastException)错误
    • getProvidingPlugin

      public static JavaPlugin getProvidingPlugin(Class<?> clazz)
      此方法给给定的类提供了快速访问.

      原文: This method provides fast access to the plugin that has provided the given class.

      参数:
      clazz - 这个类归属的插件
      返回:
      这个插件提供的类
      抛出:
      IllegalArgumentException - 如果这个类不是JavaPlugin提供的, 抛出无效的参数(IllegalArgumentException)错误
      IllegalArgumentException - 如果这个类为null, 抛出无效的参数(IllegalArgumentException)错误
      IllegalStateException - 如果从给定的JavaPlugin静态初始化,抛出无效的状态(IllegalStateException)错误