程序包 org.bukkit.plugin

# 接口 Plugin

所有超级接口:
  `CommandExecutor`, `TabCompleter`, `TabExecutor`

所有已知实现类:
  `JavaPlugin`, `PluginBase`

public interface Plugin extends TabExecutor
表示一个插件.

这只是一个接口,若要实际上实现该接口,建议使用 `PluginBase`.

原文:Represents a Plugin.

The use of `PluginBase` is recommended for actual Implementation

- ## 方法概要

  修饰符和类型
  方法
  说明
  `@NotNull FileConfiguration`
  `getConfig()`
  获取这个插件的`FileConfiguration`实例, 它将读取config.yml中的内容.
  `@NotNull File`
  `getDataFolder()`
  返回插件的数据文件夹, 该文件夹可能尚未创建.
  `@Nullable BiomeProvider`
  `getDefaultBiomeProvider(@NotNull String worldName, @Nullable String id)`
  Gets a `BiomeProvider` for use in a default world, as specified in the server configuration
  `@Nullable ChunkGenerator`
  `getDefaultWorldGenerator(@NotNull String worldName, @Nullable String id)`
  获取在服务器配置中指定的默认世界中使用的`ChunkGenerator`.
  `@NotNull PluginDescriptionFile`
  `getDescription()`
  返回包含该插件详细信息的 plugin.yaml 文件.
  `@NotNull Logger`
  `getLogger()`
  返回与此服务器日志记录器关联的插件日志记录器.返回的日志记录器自动地用插件的名称标记所有日志消息.
  `@NotNull String`
  `getName()`
  返回插件的名称.
  这应该返回插件的无修饰名称,并且应该用于比较.
  `@NotNull PluginLoader`
  `getPluginLoader()`
  获取对此插件负责的关联PluginLoader.
  `@Nullable InputStream`
  `getResource(@NotNull String filename)`
  获取此插件包中的资源.
  `@NotNull Server`
  `getServer()`
  返回当前运行此插件的服务器实例.
  `boolean`
  `isEnabled()`
  返回一个布尔值,表示该插件此时是否已经启动.
  `boolean`
  `isNaggable()`
  使用一个简单的布尔值表达 我们是否可以把一些东西记录到日志文件.
  `void`
  `onDisable()`
  当这个插件被关闭时调用.
  `void`
  `onEnable()`
  启用此插件时调用.
  `void`
  `onLoad()`
  在一个插件被加载之后启动之前调用.
  当有多个插件被加载时,确保所有插件的onLoad()全部调用完毕后才会调用onEnable().
  `void`
  `reloadConfig()`
  丢弃 `getConfig()`中所有数据并且从磁盘重载.
  `void`
  `saveConfig()`
  保存插件的 `FileConfiguration`, 这可以使用`getConfig()`获取.
  `void`
  `saveDefaultConfig()`
  将默认的config.yml文件数据保存到`getConfig()`获取的config.yml所在的位置.
  这不会覆盖已经存在的config.yml.
  `void`
  `saveResource(@NotNull String resourcePath, boolean replace)`
  保存内置于插件的.jar文件的某个资源的原始内容(假使该资源可以使用`getResource(String)`找到).
  保存于插件数据文件夹的资源的结构层次与.jar文件(内容)相同 (同时保存子目录).
  `void`
  `setNaggable(boolean canNag)`
  设置 Naggable 状态

  ### 从接口继承的方法 org.bukkit.command.CommandExecutor

  `onCommand`

  ### 从接口继承的方法 org.bukkit.command.TabCompleter

  `onTabComplete`

- ## 方法详细资料

  - ### getDataFolder

    @NotNull @NotNull File getDataFolder()
    返回插件的数据文件夹, 该文件夹可能尚未创建.

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

    返回:
      此文件夹

  - ### getDescription

    @NotNull @NotNull PluginDescriptionFile getDescription()
    返回包含该插件详细信息的 plugin.yaml 文件.

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

    返回:
      plugin.yaml文件内容

  - ### getConfig

    @NotNull @NotNull FileConfiguration getConfig()
    获取这个插件的`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.

    返回:
      此插件的配置

  - ### getResource

    @Nullable @Nullable InputStream getResource(@NotNull @NotNull String filename)
    获取此插件包中的资源.

    原文: Gets an embedded resource in this plugin

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

  - ### saveConfig

    void saveConfig()
    保存插件的 `FileConfiguration`, 这可以使用`getConfig()`获取.

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

  - ### saveDefaultConfig

    void saveDefaultConfig()
    将默认的config.yml文件数据保存到`getConfig()`获取的config.yml所在的位置.
    这不会覆盖已经存在的config.yml.

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

  - ### saveResource

    void saveResource(@NotNull @NotNull String resourcePath, boolean replace)
    保存内置于插件的.jar文件的某个资源的原始内容(假使该资源可以使用`getResource(String)`找到).
    保存于插件数据文件夹的资源的结构层次与.jar文件(内容)相同 (同时保存子目录).

    原文:Saves the raw contents of any resource embedded with a plugin's .jar file assuming it can be found using `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，则内置的资源将覆盖现有文件的内容
    抛出:
      `IllegalArgumentException` - 如果资源路径为null/空,或指向不存在的资源则抛出

  - ### reloadConfig

    void reloadConfig()
    丢弃 `getConfig()`中所有数据并且从磁盘重载.

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

  - ### getPluginLoader

    @NotNull @NotNull PluginLoader getPluginLoader()
    获取对此插件负责的关联PluginLoader.

    原文:Gets the associated PluginLoader responsible for this plugin

    返回:
      控制插件的PluginLoader

  - ### getServer

    @NotNull @NotNull Server getServer()
    返回当前运行此插件的服务器实例.

    原文:Returns the Server instance currently running this plugin

    返回:
      运行此插件的服务器

  - ### isEnabled

    boolean isEnabled()
    返回一个布尔值,表示该插件此时是否已经启动.

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

    返回:
      如果此插件已经启动,则为true,否则为false.

  - ### onDisable

    void onDisable()
    当这个插件被关闭时调用.

    原文:Called when this plugin is disabled

  - ### onLoad

    void onLoad()
    在一个插件被加载之后启动之前调用.
    当有多个插件被加载时,确保所有插件的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.

  - ### onEnable

    void onEnable()
    启用此插件时调用.

    原文:Called when this plugin is enabled

  - ### isNaggable

    boolean isNaggable()
    使用一个简单的布尔值表达 我们是否可以把一些东西记录到日志文件.

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

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

  - ### setNaggable

    void setNaggable(boolean canNag)
    设置 Naggable 状态

    原文: Set naggable state

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

  - ### getDefaultWorldGenerator

    @Nullable @Nullable ChunkGenerator getDefaultWorldGenerator(@NotNull @NotNull String worldName, @Nullable @Nullable String id)
    获取在服务器配置中指定的默认世界中使用的`ChunkGenerator`.

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

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

  - ### getDefaultBiomeProvider

    @Nullable @Nullable BiomeProvider getDefaultBiomeProvider(@NotNull @NotNull String worldName, @Nullable @Nullable String id)
    Gets a `BiomeProvider` for use in a default world, as specified in the server configuration
    参数:
      `worldName` - Name of the world that this will be applied to
      `id` - Unique ID, if any, that was specified to indicate which biome provider was requested
    返回:
      BiomeProvider for use in the default world generation

  - ### getLogger

    @NotNull @NotNull Logger getLogger()
    返回与此服务器日志记录器关联的插件日志记录器.返回的日志记录器自动地用插件的名称标记所有日志消息.

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

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

  - ### getName

    @NotNull @NotNull String getName()
    返回插件的名称.
    这应该返回插件的无修饰名称,并且应该用于比较.

    原文:Returns the name of the plugin.
    This should return the bare name of the plugin and should be used for comparison.

    返回:
      插件名称