程序包 org.bukkit

接口 Server

所有超级接口:
PluginMessageRecipient

public interface Server extends PluginMessageRecipient
代表执行插件的服务器.
  • 字段详细资料

  • 方法详细资料

    • getName

      获取这个 Server 实例的名字.

      原文:Gets the name of this server implementation.

      返回:
      这个服务器实例的名字
    • getVersion

      @NotNull @NotNull String getVersion()
      获取这个 Server 实例的版本.

      原文:Gets the version string of this server implementation.

      返回:
      这个服务器实例的版本
    • getBukkitVersion

      @NotNull @NotNull String getBukkitVersion()
      获得服务器运行的Bukkit版本.

      原文:Gets the Bukkit version that this server is running.

      返回:
      Bukkit版本
    • getOnlinePlayers

      @NotNull @NotNull Collection<? extends Player> getOnlinePlayers()
      获取所有在线玩家的集合的视图.

      此 视图 is a reused object, making some operations like Collection.size() zero-allocation. (以下翻译仅供参考)

      此集合是由内部表示支持的视图, 因此, 一切修改服务器内部状态的操作将会 立即反映到此集合上. 并不严格保证未来或所有实现都会遵守 返回一个可再利用集合 (一致性)的约定. 不赞成对这个集合执行强制转换或 依赖于接口实现 (例如 Serializable or List).

      迭代操作 is undefined outside of self-contained main-thread uses. 正常且立即的迭代器会影响集合是否被完全支持. 传送, 死亡, 踢出 等操作的结果是未知的 (没有罗列完全). 任何对这个集合的异步操作都是不安全的.

      For safe consequential iteration or mimicking the old array behavior, using Collection.toArray(Object[]) is recommended. For making snapshots, ImmutableList.copyOf(Collection) is recommended.

      原文: This view is a reused object, making some operations like Collection.size() zero-allocation.

      The collection is a view backed by the internal representation, such that, changes to the internal state of the server will be reflected immediately. However, the reuse of the returned collection (identity) is not strictly guaranteed for future or all implementations. Casting the collection, or relying on interface implementations (like Serializable or List), is deprecated.

      Iteration behavior is undefined outside of self-contained main-thread uses. Normal and immediate iterator use without consequences that affect the collection are fully supported. The effects following (non-exhaustive) teleportation, death, and kicking are undefined. Any use of this collection from asynchronous threads is unsafe.

      For safe consequential iteration or mimicking the old array behavior, using Collection.toArray(Object[]) is recommended. For making snapshots, ImmutableList.copyOf(Collection) is recommended.

      返回:
      所有在线玩家的视图
    • getMaxPlayers

      int getMaxPlayers()
      获取服务器允许进入的最大玩家数.

      原文:Get the maximum amount of players which can login to this server.

      返回:
      服务器的最大玩家数
    • setMaxPlayers

      void setMaxPlayers(int maxPlayers)
      设置服务器允许进入的最大玩家数.

      原文:Set the maximum amount of players allowed to be logged in at once.

      参数:
      maxPlayers - 服务器的最大玩家数
    • getPort

      int getPort()
      获取服务器监听的端口号.

      原文:Get the game port that the server runs on.

      返回:
      服务器端口
    • getViewDistance

      int getViewDistance()
      获取服务器的视距.

      原文:Get the view distance from this server.

      返回:
      服务器当前设置的视距
    • getSimulationDistance

      int getSimulationDistance()
      获取此服务器的模拟距离.

      原文: Get the simulation distance from this server.

      返回:
      此服务器的模拟距离
    • getIp

      获取服务器绑定的IP, 如果未指定就返回空字符串.

      原文:Get the IP that this server is bound to, or empty string if not specified.

      返回:
      服务器绑定的IP, 如果未指定就返回空字符串
    • getWorldType

      @NotNull @NotNull String getWorldType()
      获取默认世界的世界类型 (level-type 设置).

      原文:Get world type (level-type setting) for default world.

      返回:
      默认世界的世界类型 (例: DEFAULT, FLAT, DEFAULT_1_1)
    • getGenerateStructures

      boolean getGenerateStructures()
      获取此服务器是否自然生成结构.

      原文:Get generate-structures setting.

      返回:
      true表示服务器可自然生成结构, false反之
    • getMaxWorldSize

      int getMaxWorldSize()
      获取最大世界大小.

      原文:Get max world size.

      返回:
      为服务器指定的最大世界大小
    • getAllowEnd

      boolean getAllowEnd()
      获取此服务器是否开启了末路之地.

      原文:Gets whether this server allows the End or not.

      返回:
      是否可以进入末路之地
    • getAllowNether

      boolean getAllowNether()
      获取此服务器是否开启了下界.

      原文:Gets whether this server allows the Nether or not.

      返回:
      是否可以进入下界
    • isLoggingIPs

      boolean isLoggingIPs()
      获取服务器是否正在记录玩家的IP地址.

      原文: Gets whether the server is logging the IP addresses of players.

      返回:
      服务器是否正在记录玩家的IP地址
    • getInitialEnabledPacks

      @NotNull @NotNull List<String> getInitialEnabledPacks()
      获取将被启用的数据包列表.

      原文: Gets a list of packs to be enabled.

      返回:
      数据包名称的列表
    • getInitialDisabledPacks

      @NotNull @NotNull List<String> getInitialDisabledPacks()
      获取不会被自动启用的数据包列表.

      原文: Gets a list of packs that will not be enabled automatically.

      返回:
      数据包名称的列表
    • getDataPackManager

      @NotNull @NotNull DataPackManager getDataPackManager()
      获取DataPack管理器.

      原文: Get the DataPack Manager.

      返回:
      DataPack管理器实例
    • getServerTickManager

      @NotNull @NotNull ServerTickManager getServerTickManager()
      获取服务器Tick管理器.

      原文: Get the ServerTick Manager.

      返回:
      ServerTick管理器实例
    • getCodeOfConducts

      @NotNull @NotNull Map<String,String> getCodeOfConducts()
      获取服务器上启用的行为准则. 返回的Map是字符串语言代码(如en_us)到行为准则的映射.

      原文: Gets the code of conducts enabled on the server. The returned map is a map of string language codes (eg, en_us) to codes of conducts.

      返回:
      行为准则的映射, 如果没有则为空Map
    • getServerResourcePack

      @Nullable @Nullable ResourcePack getServerResourcePack()
      获取服务器配置为发送给客户端的资源包.

      原文: Gets the resource pack configured to be sent to clients by the server.

      返回:
      服务器资源包
    • getResourcePack

      @NotNull @NotNull String getResourcePack()
      获取服务器资源包的URI, 如果未指定则返回空字符串.

      原文: Gets the server resource pack uri, or empty string if not specified.

      返回:
      服务器资源包的URI, 否则返回空字符串
    • getResourcePackHash

      @NotNull @NotNull String getResourcePackHash()
      获取服务器资源包的SHA-1摘要, 如果未指定则返回空字符串.

      原文: Gets the SHA-1 digest of the server resource pack, or empty string if not specified.

      返回:
      服务器资源包的SHA-1摘要, 否则返回空字符串
    • getResourcePackPrompt

      @NotNull @NotNull String getResourcePackPrompt()
      获取当服务器资源包为必需时显示的自定义提示消息, 如果未指定则返回空字符串.

      原文: Gets the custom prompt message to be shown when the server resource pack is required, or empty string if not specified.

      返回:
      当服务器资源包为必需时显示的自定义提示消息, 否则返回空字符串
    • isResourcePackRequired

      boolean isResourcePackRequired()
      获取服务器资源包是否为强制要求.

      原文: Gets whether the server resource pack is enforced.

      返回:
      服务器资源包是否为强制要求
    • hasWhitelist

      boolean hasWhitelist()
      获取此服务器是否开启了白名单.

      原文: Gets whether this server has a whitelist or not.

      返回:
      是否开启了白名单
    • setWhitelist

      void setWhitelist(boolean value)
      设置此服务器是否开启白名单.

      原文:Sets if the server is whitelisted.

      参数:
      value - true为开, false为关
    • isWhitelistEnforced

      boolean isWhitelistEnforced()
      获取服务器白名单是否为强制执行.

      如果白名单为强制执行, 当服务器白名单被重载时, 不在白名单中的玩家将被断开连接.

      原文: Gets whether the server whitelist is enforced. If the whitelist is enforced, non-whitelisted players will be disconnected when the server whitelist is reloaded.

      返回:
      服务器白名单是否为强制执行
    • setWhitelistEnforced

      void setWhitelistEnforced(boolean value)
      设置服务器白名单是否为强制执行.

      如果白名单为强制执行, 当服务器白名单被重载时, 不在白名单中的玩家将被断开连接.

      原文: Sets if the server whitelist is enforced. If the whitelist is enforced, non-whitelisted players will be disconnected when the server whitelist is reloaded.

      参数:
      value - true为强制执行, false为不强制执行
    • getWhitelistedPlayers

      @NotNull @NotNull Set<OfflinePlayer> getWhitelistedPlayers()
      获取所有已被添加到白名单的玩家.

      原文:Gets a list of whitelisted players.

      返回:
      用Set存储的所有被添加到白名单的玩家
    • reloadWhitelist

      void reloadWhitelist()
      从硬盘重载白名单列表.

      原文:Reloads the whitelist from disk.

    • broadcastMessage

      int broadcastMessage(@NotNull @NotNull String message)
      广播一条消息到所有在线玩家.

      这与调用 broadcast(java.lang.String, java.lang.String) 并将第二个参数设为 BROADCAST_CHANNEL_USERS 等效.

      原文:Broadcast a message to all players.

      This is the same as calling broadcast(java.lang.String, java.lang.String) to BROADCAST_CHANNEL_USERS

      参数:
      message - 要广播的消息
      返回:
      成功接收此消息的玩家数
    • getUpdateFolder

      @NotNull @NotNull String getUpdateFolder()
      获取更新文件夹的名字. 系统将会在插件加载时选择适当的时机利用此文件夹来安全地更新插件.

      更新文件夹的位置相对于插件文件夹(译注:一般指服务端plugins文件夹下的update文件夹).

      Tips:如何使用更新文件夹来实现更新您的插件呢? (服主和开发者都可以了解下):

      1. 创建更新文件夹,已有则跳过此步.
      2. 下载您要更新的插件到此目录(plugins/update) (注意:jar文件名必须和在插件目录下的jar文件名一样,否则不起作用).
      3. 重载/重启服务器.
      4. OK,看效果吧.

      原文: Gets the name of the update folder. The update folder is used to safely update plugins at the right moment on a plugin load.

      The update folder name is relative to the plugins folder.

      返回:
      更新文件夹的名字
    • getUpdateFolderFile

      @NotNull @NotNull File getUpdateFolderFile()
      获取更新文件夹的 File 实例.

      系统将会在插件加载时选择适当的时机利用此文件夹来安全地更新插件.

      原文:Gets the update folder. The update folder is used to safely update plugins at the right moment on a plugin load.

      返回:
      表示更新文件夹的 File 实例
    • getConnectionThrottle

      long getConnectionThrottle()
      获取服务器的最小连接间隔设定.

      译注:单位为毫秒.

      原文:Gets the value of the connection throttle setting.

      返回:
      服务器的最小连接间隔数设定
    • getTicksPerAnimalSpawns

      @Deprecated(since="1.18.1") int getTicksPerAnimalSpawns()
      已过时。
      获取每隔多少tick应该生成一次动物. 例如:
      • 此值为 1 表示服务器会在每个tick尝试生成动物.
      • 此值为 400 表示服务器会每隔400tick尝试生成动物.
      • 此值小于 0 表示会使用Minecraft的默认设置.
      注意: 如果设为 0, 动物生成会被禁用. 我们推荐使用 spawn-animals 选项来代替将其设为0.

      Minecraft使用的默认值: 400.

      原文:


      Gets default ticks per animal spawns value.

      Example Usage:

      • A value of 1 will mean the server will attempt to spawn monsters every tick.
      • A value of 400 will mean the server will attempt to spawn monsters every 400th tick.
      • A value below 0 will be reset back to Minecraft's default.

      Note: If set to 0, animal spawning will be disabled. We recommend using spawn-animals to control this instead.

      Minecraft default: 400.

      返回:
      每隔多少tick应该生成一次动物
    • getTicksPerMonsterSpawns

      @Deprecated(since="1.18.1") int getTicksPerMonsterSpawns()
      已过时。
      获取每隔多少tick应该生成一次怪物. 例如:
      • 此值为 1 表示服务器会在每个tick尝试生成怪物.
      • 此值为 400 表示服务器会每隔400tick尝试生成怪物.
      • 此值小于 0 表示会使用Minecraft的默认设置.
      注意: 如果设为 0, 怪物生成会被禁用. 我们推荐使用 spawn-monsters 选项来代替将其设为0.

      Minecraft使用的默认值: 1.

      原文: Gets default ticks per monster spawns value.

      Example Usage:

      • A value of 1 will mean the server will attempt to spawn monsters every tick.
      • A value of 400 will mean the server will attempt to spawn monsters every 400th tick.
      • A value below 0 will be reset back to Minecraft's default.

      Note: If set to 0, monster spawning will be disabled. We recommend using spawn-monsters to control this instead.

      Minecraft default: 1.

      返回:
      每隔多少tick应该生成一次怪物
    • getTicksPerWaterSpawns

      @Deprecated(since="1.18.1") int getTicksPerWaterSpawns()
      已过时。
      获取每隔多少tick应该生成一次水生动物.

      例如:

      • 此值为 1 表示服务器会在每个tick尝试生成水生动物.
      • 此值为 400 表示服务器会每隔400tick尝试生成水生动物.
      • 此值小于 0 表示会使用Minecraft的默认设置.

      注意: 如果设为 0, 水生动物生成会被禁用.

      Minecraft使用的默认值: 1.

      原文:Gets the default ticks per water mob spawns value.

      Example Usage:

      • A value of 1 will mean the server will attempt to spawn water mobs every tick.
      • A value of 400 will mean the server will attempt to spawn water mobs every 400th tick.
      • A value below 0 will be reset back to Minecraft's default.

      Note: If set to 0, water mobs spawning will be disabled.

      Minecraft default: 1.

      返回:
      每隔多少tick应该生成一次怪物
    • getTicksPerWaterAmbientSpawns

      @Deprecated(since="1.18.1") int getTicksPerWaterAmbientSpawns()
      已过时。
      获取每隔多少tick应该生成一次水生环境生物(通常指鱼类).

      例如:

      • 此值为 1 表示服务器会在每个tick尝试生成水生环境生物.
      • 此值为 400 表示服务器会每隔400tick尝试生成水生环境生物.
      • 此值小于 0 表示会使用Minecraft的默认设置.

      注意: 如果设为 0, 水生环境生物生成会被禁用.

      Minecraft使用的默认值: 1.

      原文:Gets the default ticks per water ambient mob spawns value.

      Example Usage:

      • A value of 1 will mean the server will attempt to spawn water ambient mobs every tick.
      • A value of 400 will mean the server will attempt to spawn water ambient mobs every 400th tick.
      • A value below 0 will be reset back to Minecraft's default.

      Note: If set to 0, ambient mobs spawning will be disabled.

      Minecraft default: 1.

      返回:
      每隔多少tick应该生成一次水生环境生物
    • getTicksPerWaterUndergroundCreatureSpawns

      @Deprecated(since="1.18.1") int getTicksPerWaterUndergroundCreatureSpawns()
      已过时。
      获取每隔多少tick应该生成一次水下穴居生物.

      例如:

      • 此值为 1 表示服务器会在每个tick尝试生成水下穴居生物.
      • 此值为 400 表示服务器会每隔400tick尝试生成水下穴居生物.
      • 此值小于 0 表示会使用Minecraft的默认设置.

      注意: 如果设为 0, 水下穴居生物生成会被禁用.

      Minecraft使用的默认值: 1.

      原文: Gets the default ticks per water underground creature spawns value.

      Example Usage:

      • A value of 1 will mean the server will attempt to spawn water underground creature every tick.
      • A value of 400 will mean the server will attempt to spawn water underground creature every 400th tick.
      • A value below 0 will be reset back to Minecraft's default.

      Note: If set to 0, water underground creature spawning will be disabled.

      Minecraft default: 1.

      返回:
      每隔多少tick应该生成一次水下穴居生物
    • getTicksPerAmbientSpawns

      @Deprecated(since="1.18.1") int getTicksPerAmbientSpawns()
      已过时。
      获取每隔多少tick应该生成一次环境生物(即蝙蝠).

      例如:

      • 此值为 1 表示服务器会在每个tick尝试生成环境生物.
      • 此值为 400 表示服务器会每隔400tick尝试生成环境生物.
      • 此值小于 0 表示会使用Minecraft的默认设置.

      注意: 如果设为 0, 环境生物生成会被禁用.

      Minecraft使用的默认值: 1.

      原文:Gets the default ticks per ambient mob spawns value.

      Example Usage:

      • A value of 1 will mean the server will attempt to spawn ambient mobs every tick.
      • A value of 400 will mean the server will attempt to spawn ambient mobs every 400th tick.
      • A value below 0 will be reset back to Minecraft's default.

      Note: If set to 0, ambient mobs spawning will be disabled.

      Minecraft default: 1.

      返回:
      每隔多少tick应该生成一次环境生物
    • getTicksPerSpawns

      int getTicksPerSpawns(@NotNull @NotNull SpawnCategory spawnCategory)
      获取指定SpawnCategory生成类型的默认tick间隔.

      例如:

      • 此值为 1 表示服务器会在每个tick尝试生成SpawnCategory类型的生物.
      • 此值为 400 表示服务器会每隔400tick尝试生成SpawnCategory类型的生物.
      • 此值小于 0 表示会使用Minecraft的默认设置.

      注意: 如果设为 0, SpawnCategory类型的生物生成会被禁用.

      Minecraft使用的默认值: 1.
      注意: SpawnCategory.MISC类型不会被考虑在内.

      原文: Gets the default ticks per SpawnCategory spawns value.

      Example Usage:

      • A value of 1 will mean the server will attempt to spawn SpawnCategory mobs every tick.
      • A value of 400 will mean the server will attempt to spawn SpawnCategory mobs every 400th tick.
      • A value below 0 will be reset back to Minecraft's default.

      Note: If set to 0, SpawnCategory mobs spawning will be disabled.

      Minecraft default: 1.
      Note: the SpawnCategory.MISC are not consider.

      参数:
      spawnCategory - 生成类别
      返回:
      指定SpawnCategory生成类型的默认tick间隔
    • getPlayer

      使用给定玩家名模糊搜索玩家(名字最近似的玩家).

      使用 getPlayerExact(String) 以精准匹配某个玩家, 若要搜索所有匹配的玩家,请使用 matchPlayer(String).

      译注: 注意此方法用于模糊搜索——当服务器内有玩家 aaa, aab, abc 时, 使用 getPlayer("ab") 会返回玩家 abc 的实例, 而如果 ab 在线则会返回 ab 的实例 因此可能存在严重的安全问题, 需要精确搜索(例如给予OP时)请用 getPlayerExact(java.lang.String) 或 getPlayer(java.util.UUID) 代替.

      原文: Gets a player whose name matches the given name closest.

      Use getPlayerExact(String) to get the player matching the input exactly and matchPlayer(String) if you want a list of all players matching the input.

      参数:
      name - 用来查找的玩家名
      返回:
      如果找到了则返回玩家对象, 否则返回null
    • getPlayerExact

      使用给定玩家名精确查找玩家, 不区分大小写.

      原文:Gets the player with the exact given name, case insensitive.

      参数:
      name - 用于检索的精确玩家名称, 不区分大小写
      返回:
      如果找到了则返回玩家对象, 否则返回null
    • matchPlayer

      尝试获取所有匹配给定名称的玩家, 并返回包含了一切可能匹配的列表.

      这个列表没有经过任何特殊排序. 如果能在在线玩家内精确匹配到给定名称, 则返回一个只包含单个结果的列表.

      译注: 设有在线玩家 abcd, efg, dbca 那么 matchPlayer("bc") 会 返回一个包含 [abcd, dbca] 的列表. 但如果此时玩家 bc 上线了, 再执行相同的查找 就只会返回包含一个结果的列表 [bc].

      原文: Attempts to match any players with the given name, and returns a list of all possibly matches.

      This list is not sorted in any particular order. If an exact match is found, the returned list will only contain a single result.

      参数:
      name - 需要匹配的(部分)名称
      返回:
      包含所有可能的匹配结果的列表
    • getPlayer

      使用给定UUID获取玩家.

      原文:Gets the player with the given UUID.

      参数:
      id - 要获取的玩家的UUID
      返回:
      如果找到了则返回玩家对象, 否则返回null
    • getPluginManager

      @NotNull @NotNull PluginManager getPluginManager()
      获取插件管理器以与其他插件进行交互.

      原文:Gets the plugin manager for interfacing with plugins.

      返回:
      此服务器的插件管理器
    • getScheduler

      获取用于管理调度任务的调度器.

      原文: Gets the scheduler for managing scheduled events.

      返回:
      此服务器的调度器服务
    • getServicesManager

      @NotNull @NotNull ServicesManager getServicesManager()
      获取服务管理器.

      原文:Gets a services manager.

      返回:
      服务管理器
    • getWorlds

      @NotNull @NotNull List<World> getWorlds()
      获取当前服务器加载的所有世界的列表.

      原文:Gets a list of all worlds on this server.

      返回:
      所有已经被服务器加载的世界列表
    • createWorld

      用给定的世界生成器来创建或者加载一个世界.

      如果这个世界已经被加载了, 那么就会返回等同于调用 getWorld(creator.name()) 的结果.

      原文: Creates or loads a world with the given name using the specified options.

      If the world is already loaded, it will just return the equivalent of getWorld(creator.name()).

      参数:
      creator - 加载或者创建这个世界的时候要用的世界生成器
      返回:
      生成的或者加载的世界对象
    • unloadWorld

      boolean unloadWorld(@NotNull @NotNull String name, boolean save)
      卸载给定名称对应的世界.

      原文: Unloads a world with the given name.

      参数:
      name - 要卸载的世界的名字
      save - 是否在卸载世界前保存区块数据
      返回:
      如果成功返回true, 否则返回false
    • unloadWorld

      boolean unloadWorld(@NotNull @NotNull World world, boolean save)
      卸载指定的世界.

      原文: Unloads a world with the given name.

      参数:
      world - 要卸载的世界
      save - 是否在卸载世界前保存区块数据
      返回:
      如果成功返回true, 否则返回false
    • getWorld

      使用给定的名称查找世界.

      原文: Gets the world with the given name.

      参数:
      name - 世界名称
      返回:
      给定名称对应世界的实例, 没找到则返回null
    • getWorld

      使用给定唯一ID查找世界.

      原文:Gets the world from the given Unique ID.

      参数:
      uid - 要查找的世界的唯一ID
      返回:
      没找到则返回null
    • createWorldBorder

      @NotNull @NotNull WorldBorder createWorldBorder()
      创建一个新的虚拟WorldBorder.

      注意, 服务器创建的世界边界不会考虑任何世界缩放效果(即在下界中坐标不会除以8).

      原文: Create a new virtual WorldBorder.

      Note that world borders created by the server will not respect any world scaling effects (i.e. coordinates are not divided by 8 in the nether).

      返回:
      创建的世界边界实例
      另请参阅:
    • getMap

      @Deprecated(since="1.6.2") @Nullable @Nullable MapView getMap(int id)
      已过时。
      不安全的参数
      使用给定物品ID获取地图.

      原文: Gets the map from the given item ID.

      参数:
      id - 要获取的地图的ID
      返回:
      如果找到则返回对应的 MapView, 否则返回null
    • createMap

      创建一个新地图并自动分配一个ID.

      原文:Create a new map with an automatically assigned ID.

      参数:
      world - 地图所属的世界
      返回:
      新创建的 MapView
    • createExplorerMap

      创建一个新的探索者地图, 以定位最近的指定StructureType结构.
      此方法使用实现的默认值作为搜索半径和是否寻找未探索结构(通常为100, true).

      原文: Create a new explorer map targeting the closest nearby structure of a given StructureType.
      This method uses implementation default values for radius and findUnexplored (usually 100, true).

      参数:
      world - 地图所属的世界
      location - 查找最近结构的起始位置
      structureType - 要查找的结构类型
      返回:
      新创建的物品堆栈
      另请参阅:
    • createExplorerMap

      @NotNull @NotNull ItemStack createExplorerMap(@NotNull @NotNull World world, @NotNull @NotNull Location location, @NotNull @NotNull StructureType structureType, int radius, boolean findUnexplored)
      创建一个新的探索者地图, 以定位最近的指定StructureType结构.
      此方法使用实现的默认值作为搜索半径和是否寻找未探索结构(通常为100, true).

      原文: Create a new explorer map targeting the closest nearby structure of a given StructureType.
      This method uses implementation default values for radius and findUnexplored (usually 100, true).

      参数:
      world - 地图所属的世界
      location - 查找最近结构的起始位置
      structureType - 要查找的结构类型
      radius - 搜索半径, 详见 World#locateNearestStructure 获取更多信息
      findUnexplored - 是否查找未探索的结构
      返回:
      新创建的物品堆栈
      另请参阅:
    • reload

      void reload()
      重新加载服务器并刷新设置和插件信息.

      原文:Reloads the server, refreshing settings and plugin information.

    • reloadData

      void reloadData()
      只重载Minecraft游戏数据. 这包括自定义的进度和掉落表.

      原文:Reload only the Minecraft data for the server. This includes custom advancements and loot tables.

    • getLogger

      @NotNull @NotNull Logger getLogger()
      返回与此服务器实例绑定的主Logger.

      原文:Returns the primary logger associated with this server instance.

      返回:
      与此服务器绑定的 Logger
    • getPluginCommand

      用给定命令名或别名获取 PluginCommand.

      原文:Gets a PluginCommand with the given name or alias.

      参数:
      name - 命令名或命令别名
      返回:
      若找到则返回对应的命令实例, 找不到则返回null
    • savePlayers

      void savePlayers()
      保存已加载的玩家信息.

      原文:Writes loaded players to disk.

    • dispatchCommand

      boolean dispatchCommand(@NotNull @NotNull CommandSender sender, @NotNull @NotNull String commandLine) throws CommandException
      在服务器执行一个命令 (如果命令存在).

      原文:Dispatches a command on this server, and executes it if found.

      参数:
      sender - 执行该命令的发送者
      commandLine - 命令 + 参数. 例如: test abc 123
      返回:
      若命令未找到返回false
      抛出:
      CommandException - 当执行命令期间出现未捕获的异常时抛出
    • addRecipe

      @Contract("null -> false") boolean addRecipe(@Nullable @Nullable Recipe recipe)
      向合成管理器添加一个合成配方.

      原文:Adds a recipe to the crafting manager.

      参数:
      recipe - 要添加的合成配方
      返回:
      是否成功的地添加了合成配方
    • getRecipesFor

      获取对指定物品适用的所有合成配方的列表. 在比对过程中物品堆叠数量会被忽略. 如果给定物品堆的耐久度为 -1, 将匹配任意的数据值.

      原文:Get a list of all recipes for a given item. The stack size is ignored in comparisons. If the durability is -1, it will match any data value.

      参数:
      result - 要匹配的物品
      返回:
      对指定物品适用的所有合成配方的列表
    • getRecipe

      根据指定的 key 获取配方.

      原文:Get the Recipe for the given key.

      参数:
      recipeKey - 配方的 key
      返回:
      给定 key 对应的配方, 若未找到返回 null
    • getCraftingRecipe

      @Nullable @Nullable Recipe getCraftingRecipe(@NotNull @NotNull ItemStack[] craftingMatrix, @NotNull @NotNull World world)
      获取指定物品堆栈列表对应的配方.

      该列表以合成矩阵的格式排列, 索引遵循以下模式:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       

      注意: 此方法不会修改提供的物品堆栈数组, 如需修改请使用 craftItem(ItemStack[], World, Player).

      原文: Get the Recipe for the list of ItemStacks provided.

      The list is formatted as a crafting matrix where the index follow the pattern below:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       

      NOTE: This method will not modify the provided ItemStack array, for that, use craftItem(ItemStack[], World, Player).

      参数:
      craftingMatrix - 用于合成的物品列表. 最多包含9个物品.
      world - 合成发生所在的世界
      返回:
      由给定合成矩阵得出的配方
    • craftItem

      使用提供的ItemStack列表获取合成后的物品.

      该列表以合成矩阵的格式排列, 索引遵循以下模式:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       

      World和Player参数是满足Bukkit合成事件所必需的.

      调用PrepareItemCraftEvent以模拟Player发起合成事件.

      原文: Get the crafted item using the list of ItemStack provided.

      The list is formatted as a crafting matrix where the index follow the pattern below:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       

      The World and Player arguments are required to fulfill the Bukkit Crafting events.

      Calls PrepareItemCraftEvent to imitate the Player initiating the crafting event.

      参数:
      craftingMatrix - 用于合成的物品列表. 最多包含9个物品.
      world - 合成发生所在的世界
      player - 用于模拟合成事件的玩家
      返回:
      由给定合成矩阵得出的ItemStack, 如果未找到配方则返回Material.AIR的物品堆栈
    • craftItem

      使用提供的ItemStack列表获取合成后的物品.

      该列表以合成矩阵的格式排列, 索引遵循以下模式:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       

      原文: Get the crafted item using the list of ItemStack provided.

      The list is formatted as a crafting matrix where the index follow the pattern below:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       
      参数:
      craftingMatrix - 用于合成的物品列表. 最多包含9个物品.
      world - 合成发生所在的世界
      返回:
      由给定合成矩阵得出的ItemStack, 如果未找到配方则返回Material.AIR的物品堆栈
    • craftItemResult

      使用提供的ItemStack列表获取合成后的物品.

      该列表以合成矩阵的格式排列, 索引遵循以下模式:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       

      World和Player参数是满足Bukkit合成事件所必需的.

      调用PrepareItemCraftEvent以模拟Player发起合成事件.

      原文: Get the crafted item using the list of ItemStack provided.

      The list is formatted as a crafting matrix where the index follow the pattern below:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       

      The World and Player arguments are required to fulfill the Bukkit Crafting events.

      Calls PrepareItemCraftEvent to imitate the Player initiating the crafting event.

      参数:
      craftingMatrix - 用于合成的物品列表. 最多包含9个物品.
      world - 合成发生所在的世界
      player - 用于模拟合成事件的玩家
      返回:
      包含合成结果物品、合成矩阵及剩余物品的ItemCraftResult
    • craftItemResult

      @NotNull @NotNull ItemCraftResult craftItemResult(@NotNull @NotNull ItemStack[] craftingMatrix, @NotNull @NotNull World world)
      使用提供的ItemStack列表获取合成后的物品.

      该列表以合成矩阵的格式排列, 索引遵循以下模式:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       

      原文: Get the crafted item using the list of ItemStack provided.

      The list is formatted as a crafting matrix where the index follow the pattern below:

       [ 0 1 2 ]
       [ 3 4 5 ]
       [ 6 7 8 ]
       
      参数:
      craftingMatrix - 用于合成的物品列表. 最多包含9个物品.
      world - 合成发生所在的世界
      返回:
      包含合成结果物品、合成矩阵及剩余物品的ItemCraftResult
    • recipeIterator

      @NotNull @NotNull Iterator<Recipe> recipeIterator()
      获取合成配方列表迭代器.

      原文:Get an iterator through the list of crafting recipes.

      返回:
      迭代器
    • clearRecipes

      void clearRecipes()
      清理所有已添加的合成配方.

      原文:Clears the list of crafting recipes.

    • resetRecipes

      void resetRecipes()
      重置自定义合成配方列表至默认状态.

      原文:Resets the list of crafting recipes to the default.

    • removeRecipe

      boolean removeRecipe(@NotNull @NotNull NamespacedKey key)
      从服务器移除指定的合成配方. 注意:移除一个合成配方可能导致与此配方有关的数据的永久丢失 (例如配方是否已被玩家发现).

      原文:Remove a recipe from the server. Note that removing a recipe may cause permanent loss of data associated with that recipe (eg whether it has been discovered by players).

      参数:
      key - 要移除的配方的NamespacedKey
      返回:
      若配方成功移除返回true
    • getCommandAliases

      @NotNull @NotNull Map<String,String[]> getCommandAliases()
      获取服务器配置定义的命令别名列表.

      原文:Gets a list of command aliases defined in the server properties.

      返回:
      命令别名map
    • getSpawnRadius

      int getSpawnRadius()
      获取出生地保护的半径范围(以方块为单位).

      原文:Gets the radius, in blocks, around each worlds spawn point to protect.

      返回:
      出生地保护范围,0为没有保护
    • setSpawnRadius

      void setSpawnRadius(int value)
      设置出生地保护的半径范围.

      原文:Sets the radius, in blocks, around each worlds spawn point to protect.

      参数:
      value - 新的出生地保护的范围,0设为没有保护
    • shouldSendChatPreviews

      @Deprecated(since="1.19.3") boolean shouldSendChatPreviews()
      已过时。
      聊天预览功能已被移除
      获取服务器是否应在玩家输入消息时向客户端发送玩家聊天消息的预览

      原文: Gets whether the server should send a preview of the player's chat message to the client when the player types a message

      返回:
      如果服务器应发送预览则返回true, 否则返回false
    • isEnforcingSecureProfiles

      boolean isEnforcingSecureProfiles()
      获取服务器是否只允许拥有Mojang签名公钥的玩家加入

      原文: Gets whether the server only allow players with Mojang-signed public key to join

      返回:
      如果只有Mojang签名的玩家可以加入则返回true, 否则返回false
    • isAcceptingTransfers

      boolean isAcceptingTransfers()
      获取此服务器是否允许从其他服务器转移过来的连接.

      原文: Gets whether this server is allowing connections transferred from other servers.

      返回:
      如果服务器接受转移连接则返回true, 否则返回false
    • getHideOnlinePlayers

      boolean getHideOnlinePlayers()
      获取服务器是否在服务器状态中隐藏在线玩家.

      原文: Gets whether the Server hide online players in server status.

      返回:
      如果服务器隐藏在线玩家则返回true, 否则返回false
    • getOnlineMode

      boolean getOnlineMode()
      获取服务器是否开启了正版模式.

      原文:Gets whether the Server is in online mode or not.

      返回:
      true则开启/false反之
    • getAllowFlight

      boolean getAllowFlight()
      获取服务器是否允许飞行.

      原文:Gets whether this server allows flying or not.

      返回:
      服务器是否允许飞行
    • isHardcore

      boolean isHardcore()
      获取服务器是否处于极限生存模式.

      原文:Gets whether the server is in hardcore mode or not.

      返回:
      服务器是否处于极限生存模式
    • shutdown

      void shutdown()
      关闭服务器, 停止一切在运行的东西.

      原文:Shutdowns the server, stopping everything.

    • broadcast

      int broadcast(@NotNull @NotNull String message, @NotNull @NotNull String permission)
      向有给定权限的用户广播一条消息.

      原文:Broadcasts the specified message to every user with the given permission name.

      参数:
      message - 要广播的消息
      permission - 接受这条公告需要拥有的权限许可
      返回:
      成功接收此消息的玩家数
    • getOfflinePlayer

      已过时。
      由于玩家名在某个会话后(某次游戏后)不再唯一, 应使用uuid作为唯一标识来持久化存储用户. (译注:正版玩家更改它们的玩家名后,其uuid不会改变,其他正版玩家可以使用这些玩家的曾用名, 可能会出现同一玩家名对应两个或多个不同玩家的情况)
      以给定名字获取玩家对象, 无论玩家是否在线.

      这个方法可能因通过web请求获取玩家名对应UUID而阻塞.

      即使此玩家不存在也会返回一个对象. 对于此方法, 任何玩家都是存在的.

      原文:Gets the player by the given name, regardless if they are offline or online.

      This method may involve a blocking web request to get the UUID for the given name.

      This will return an object even if the player does not exist. To this method, all players will exist.

      参数:
      name - 此玩家的玩家名
      返回:
      表示此玩家的OfflinePlayer对象
      另请参阅:
    • getOfflinePlayer

      以给定名字获取玩家对象, 无论玩家是否在线.

      即使此玩家不存在也会返回一个对象. 对于此方法, 任何玩家都是存在的.

      原文:Gets the player by the given UUID, regardless if they are offline or online.

      This will return an object even if the player does not exist. To this method, all players will exist.

      参数:
      id - 要检索的玩家UUID
      返回:
      表示此玩家的OfflinePlayer对象
    • createPlayerProfile

      创建一份新的玩家资料.

      原文:Creates a new PlayerProfile.

      参数:
      uniqueId - 唯一 id
      name - 玩家名
      返回:
      新 PlayerProfile
      抛出:
      IllegalArgumentException - 如果唯一 id 和玩家名均为 null 或玩家名为空白字符串
    • createPlayerProfile

      @NotNull @NotNull PlayerProfile createPlayerProfile(@NotNull @NotNull UUID uniqueId)
      创建一份新的玩家资料.

      原文:Creates a new PlayerProfile.

      参数:
      uniqueId - 唯一 id
      返回:
      新 PlayerProfile
      抛出:
      IllegalArgumentException - 如果唯一 id 为 null
    • createPlayerProfile

      创建一份新的玩家资料.

      原文:Creates a new PlayerProfile.

      参数:
      name - 玩家名
      返回:
      新 PlayerProfile
      抛出:
      IllegalArgumentException - 如果玩家名为 null 或空白字符串
    • getIPBans

      @NotNull @NotNull Set<String> getIPBans()
      获取所有已被封禁的IP地址.

      原文:Gets a set containing all current IPs that are banned.

      返回:
      被封禁IP集合
    • banIP

      @Deprecated(since="1.20.1") void banIP(@NotNull @NotNull String address)
      已过时。
      封禁指定的IP地址.

      原文:Bans the specified address from the server.

      参数:
      address - 要封禁的IP地址
    • unbanIP

      @Deprecated(since="1.20.1") void unbanIP(@NotNull @NotNull String address)
      已过时。
      解禁指定的IP地址.

      原文:Unbans the specified address from the server.

      参数:
      address - 要解禁的IP地址
    • banIP

      void banIP(@NotNull @NotNull InetAddress address)
      封禁指定的IP地址.

      原文:Bans the specified address from the server.

      参数:
      address - 要封禁的IP地址
    • unbanIP

      void unbanIP(@NotNull @NotNull InetAddress address)
      解禁指定的IP地址.

      原文:Unbans the specified address from the server.

      参数:
      address - 要解禁的IP地址
    • getBannedPlayers

      @NotNull @NotNull Set<OfflinePlayer> getBannedPlayers()
      获取所有已被封禁的玩家.

      原文:Gets a set containing all banned players.

      返回:
      已被封禁的玩家
    • getBanList

      @NotNull <T extends BanList<?>> T getBanList(@NotNull BanList.Type type)
      获取指定类型的封禁列表.

      原文:Gets a ban list for the supplied type.

      类型参数:
      T - 封禁目标
      参数:
      type - 要获取的封禁列表的类型, 不能为null
      返回:
      指定类型的封禁列表
    • getOperators

      获取服务器的所有OP(管理员).

      原文:Gets a set containing all player operators.

      返回:
      服务器OP
    • getDefaultGameMode

      @NotNull @NotNull GameMode getDefaultGameMode()
      获取新玩家的默认游戏模式.

      原文:Gets the default GameMode for new players.

      返回:
      默认游戏模式
    • setDefaultGameMode

      void setDefaultGameMode(@NotNull @NotNull GameMode mode)
      设置新玩家的默认 GameMode.

      原文:Sets the default GameMode for new players.

      参数:
      mode - 新的游戏模式
    • getConsoleSender

      获取服务器的ConsoleCommandSender, 将被作为服务器的标准输入.

      译注:该方法用于获取控制台.

      原文:Gets a ConsoleCommandSender that may be used as an input source for this server.

      返回:
      控制台命令发送者对象
    • getWorldContainer

      @NotNull @NotNull File getWorldContainer()
      获取包含所有世界数据的文件夹.

      译注:通常此文件夹就是服务端根目录.

      原文:Gets the folder that contains all of the various Worlds.

      返回:
      包含所有世界数据的文件夹
    • getOfflinePlayers

      @NotNull @NotNull OfflinePlayer[] getOfflinePlayers()
      获取所有登陆过服务器的玩家.

      原文:Gets every player that has ever played on this server.

      返回:
      包含所有登录过的玩家的数组
    • getMessenger

      @NotNull @NotNull Messenger getMessenger()
      获取服务器上管理plugin channel(插件通道)通信的Messenger实例.

      原文:Gets the Messenger responsible for this server.

      返回:
      Messenger实例
    • getHelpMap

      @NotNull @NotNull HelpMap getHelpMap()
      获取服务器上提供所有帮助主题的HelpMap实例.

      原文:Gets the HelpMap providing help topics for this server.

      返回:
      HelpMap实例
    • createInventory

      以指定类型创建一个空物品栏. 如果type是InventoryType.CHEST(箱子类型), 新的物品栏的大小则是27, 否则是与物品栏类型对应的正常大小.
      如果type是InventoryType.WORKBENCH, 则这个物品栏不会处理合成配方. 请使用MenuType.CRAFTING.
      同理, 以InventoryType.ENCHANTING创建的附魔台物品栏也不起作用. 请使用MenuType.ENCHANTMENT.

      原文:Creates an empty inventory with the specified type. If the type is InventoryType.CHEST, the new inventory has a size of 27; otherwise the new inventory has the normal size for its type.
      InventoryType.WORKBENCH will not process crafting recipes if created with this method. Use MenuType.CRAFTING instead.
      InventoryType.ENCHANTING will not process ItemStacks for possible enchanting results. Use MenuType.ENCHANTMENT instead.

      参数:
      owner - 物品栏的持有者, 不指定持有者为null
      type - 要创建的物品栏的种类
      返回:
      新的物品栏
      抛出:
      IllegalArgumentException - 如果这种 InventoryType 物品栏不能显示给玩家
      另请参阅:
    • createInventory

      以指定类型和标题创建一个空物品栏. 如果type是InventoryType.CHEST(箱子类型), 新的物品栏的大小则是27, 否则是与物品栏类型对应的正常大小.
      如果type是InventoryType.WORKBENCH, 则这个物品栏不会处理合成配方. 请使用MenuType.CRAFTING.
      同理, 以InventoryType.ENCHANTING创建的附魔台物品栏也不起作用. 请使用MenuType.ENCHANTMENT.

      原文:Creates an empty inventory with the specified type and title. If the type is InventoryType.CHEST, the new inventory has a size of 27; otherwise the new inventory has the normal size for its type.
      It should be noted that some inventory types do not support titles and may not render with said titles on the Minecraft client.
      InventoryType.WORKBENCH will not process crafting recipes if created with this method. Use MenuType.CRAFTING instead.
      InventoryType.ENCHANTING will not process ItemStacks for possible enchanting results. Use MenuType.ENCHANTMENT instead.

      参数:
      owner - 物品栏的持有者, 如果没有持有者可为null
      type - 要创建的物品栏的种类
      title - 物品栏的标题, 会显示给玩家
      返回:
      新的物品栏
      抛出:
      IllegalArgumentException - 如果这种 InventoryType 物品栏不能显示给玩家
      另请参阅:
    • createInventory

      创建一个类型为InventoryType.CHEST, 有指定大小的空物品栏.

      原文:Creates an empty inventory of type InventoryType.CHEST with the specified size.

      参数:
      owner - 物品栏的持有者, 不指定持有者为null
      size - 物品栏的大小, 必须为9的倍数
      返回:
      新的物品栏
      抛出:
      IllegalArgumentException - 如果大小不是9的倍数
    • createInventory

      创建一个类型为InventoryType.CHEST, 有指定大小和标题的空物品栏.

      原文:Creates an empty inventory of type InventoryType.CHEST with the specified size and title.

      参数:
      owner - 物品栏的持有者, 不指定持有者为null
      size - 物品栏的大小, 必须为9的倍数
      title - 物品栏的标题, 会显示给玩家
      返回:
      新的物品栏
      抛出:
      IllegalArgumentException - 如果大小不是9的倍数
    • createMerchant

      已过时。
      The title parameter is no-longer needed when used with MenuType.MERCHANT and MenuType.Typed.builder().
      创建一个空的商人.

      原文:Creates an empty merchant.

      参数:
      title - 查看商人物品栏时显示的标题
      返回:
      新的商人
    • createMerchant

      @NotNull @NotNull Merchant createMerchant()
      创建一个空的商人.

      原文:Creates an empty merchant.

      返回:
      新的商人
    • getMaxChainedNeighborUpdates

      int getMaxChainedNeighborUpdates()
      获取在跳过额外更新之前连续相邻更新的数量.

      原文: Gets the amount of consecutive neighbor updates before skipping additional ones.

      返回:
      连续相邻更新的数量, 如果为负数则表示不使用该限制
    • getMonsterSpawnLimit

      @Deprecated(since="1.18.1") int getMonsterSpawnLimit()
      已过时。
      获取一个区块最大可生成怪物数量.

      原文:Gets user-specified limit for number of monsters that can spawn in a chunk.

      返回:
      生成限制数
    • getAnimalSpawnLimit

      @Deprecated(since="1.18.1") int getAnimalSpawnLimit()
      已过时。
      获取一个区块最大可生成的动物数量.

      原文: Gets user-specified limit for number of animals that can spawn in a chunk.

      返回:
      生成限制数
    • getWaterAnimalSpawnLimit

      @Deprecated(since="1.18.1") int getWaterAnimalSpawnLimit()
      已过时。
      获取一个区块最大可生成的水生动物数量.

      原文:Gets user-specified limit for number of water animals that can spawn in a chunk.

      返回:
      生成限制数
    • getWaterAmbientSpawnLimit

      @Deprecated(since="1.18.1") int getWaterAmbientSpawnLimit()
      已过时。
      获取一个区块最大可生成的水生环境数量.

      原文:Gets user-specified limit for number of water ambient mobs that can spawn in a chunk.

      返回:
      生成限制数
    • getWaterUndergroundCreatureSpawnLimit

      @Deprecated(since="1.18.1") int getWaterUndergroundCreatureSpawnLimit()
      已过时。
      获取用户指定的区块内可生成的水下穴居生物数量限制.

      原文: Get user-specified limit for number of water creature underground that can spawn in a chunk.

      返回:
      水下穴居生物的生成限制数
    • getAmbientSpawnLimit

      @Deprecated(since="1.18.1") int getAmbientSpawnLimit()
      已过时。
      获取一个区块最大可生成的环境生物(一般指蝙蝠)数量.

      原文:Gets user-specified limit for number of ambient mobs that can spawn in a chunk.

      返回:
      生成限制数
    • getSpawnLimit

      int getSpawnLimit(@NotNull @NotNull SpawnCategory spawnCategory)
      获取用户指定的区块内可生成的SpawnCategory类型生物数量限制. 注意: SpawnCategory.MISC类型不会被考虑在内.

      原文: Gets user-specified limit for number of SpawnCategory mobs that can spawn in a chunk. Note: the SpawnCategory.MISC are not consider.

      参数:
      spawnCategory - 生成类别
      返回:
      指定SpawnCategory类型的生成限制数
    • isPrimaryThread

      boolean isPrimaryThread()
      检查当前方法是否在主线程执行。

      注意: 该方法不应该用于检查当前同步状态,当前线程为主线程表明它确实为同步,但是不能排除其他原因.

      原文:Checks the current thread against the expected primary thread for the server.

      Note: this method should not be used to indicate the current synchronized state of the runtime. A current thread matching the main thread indicates that it is synchronized, but a mismatch does not preclude the same assumption.

      返回:
      为主线程返回true否则返回false
    • getMotd

      获取在客户端服务器列表里显示的消息(服务器的欢迎消息,又称message of the day, 展示在mc客户端的服务器列表).

      原文:Gets the message that is displayed on the server list.

      返回:
      服务器motd
    • setMotd

      void setMotd(@NotNull @NotNull String motd)
      设置在客户端服务器列表里显示的消息.

      原文:Set the message that is displayed on the server list.

      参数:
      motd - 服务器motd
    • getServerLinks

      @NotNull @NotNull ServerLinks getServerLinks()
      获取将发送给客户端的服务器链接

      原文: Gets the server links which will be sent to clients

      返回:
      服务器的链接
    • getShutdownMessage

      @Nullable @Nullable String getShutdownMessage()
      获取服务器关闭时广播给玩家的默认提示消息.

      原文:Gets the default message that is displayed when the server is stopped.

      返回:
      关服消息
    • getWarningState

      获取服务器的警告状态.

      原文:Gets the current warning state for the server.

      返回:
      预先配置的警告状态
    • getItemFactory

      @NotNull @NotNull ItemFactory getItemFactory()
      获取ItemFactory实例 (用于ItemMeta).

      原文:Gets the instance of the item factory (for ItemMeta).

      返回:
      ItemFactory实例
      另请参阅:
    • getEntityFactory

      @NotNull @NotNull EntityFactory getEntityFactory()
      获取实体工厂实例 (用于EntitySnapshot).

      原文: Gets the instance of the entity factory (for EntitySnapshot).

      返回:
      实体工厂实例
      另请参阅:
    • getScoreboardManager

      @Nullable @Nullable ScoreboardManager getScoreboardManager()
      获取计分板管理器实例.

      只在第一个世界加载后存在.

      原文:Gets the instance of the scoreboard manager.

      This will only exist after the first world has loaded.

      返回:
      计分板管理器实例, 如果未加载任何世界则为null
    • getScoreboardCriteria

      @NotNull @NotNull Criteria getScoreboardCriteria(@NotNull @NotNull String name)
      根据名称获取(或创建)一个新的Criteria.

      原文: Get (or create) a new Criteria by its name.

      参数:
      name - 条件名称
      返回:
      条件实例
      另请参阅:
    • getServerIcon

      获取服务器默认图标.

      原文:Gets an instance of the server's default server-icon.

      返回:
      服务器默认图标,当未定义服务器图标时将返回null(该行为无法担保)
    • loadServerIcon

      为指定文件创建一个缓存的服务器图标.

      大小和类型必须在允许范围内(由底层实现定义),否则将会抛出Exception.

      原文:Loads an image from a file, and returns a cached image for the specific server-icon.

      Size and type are implementation defined. An incompatible file is guaranteed to throw an implementation-defined Exception.

      参数:
      file - 需要被加载的文件
      返回:
      一个CachedServerIcon实例,可用于 ServerListPingEvent.setServerIcon(CachedServerIcon)
      抛出:
      IllegalArgumentException - 如果图片为null
      Exception - 如果图片规格不适合作为服务器图标
    • loadServerIcon

      为指定图片创建一个缓存的服务器图标.

      大小和类型必须在允许范围内(由底层实现定义),否则将会抛出Exception.

      原文:Creates a cached server-icon for the specific image.

      Size and type are implementation defined. An incompatible file is guaranteed to throw an implementation-defined Exception.

      参数:
      image - 用于缓存的图片
      返回:
      一个CachedServerIcon实例,可用于 ServerListPingEvent.setServerIcon(CachedServerIcon)
      抛出:
      IllegalArgumentException - 若image为null
      Exception - 如果图片规格不适合作为服务器图标
    • setIdleTimeout

      void setIdleTimeout(int threshold)
      设置一个空闲超时阈值(IDLE_KICK). 玩家空闲达到这个特定的时间后会被自动踢出服务器. 如果设置为0,该功能将被关闭.

      原文: Set the idle kick timeout. Any players idle for the specified amount of time will be automatically kicked.

      A value of 0 will disable the idle kick timeout.

      参数:
      threshold - 玩家空闲时间阈值,以分钟为单位
    • getIdleTimeout

      int getIdleTimeout()
      获取自动踢出闲置玩家的时间.

      原文:Gets the idle kick timeout.

      返回:
      the 闲置超时的分钟数
    • getPauseWhenEmptyTime

      int getPauseWhenEmptyTime()
      获取空闲暂停阈值(秒). 为了节省资源, 当没有玩家在线时, 服务器将在该时间后暂停大部分功能.

      原文: Gets the pause when empty threshold seconds. To save resources, the pause most functions after this time if there are no players online.

      返回:
      暂停阈值(秒)
    • setPauseWhenEmptyTime

      void setPauseWhenEmptyTime(int seconds)
      设置空闲暂停阈值(秒). 为了节省资源, 当没有玩家在线时, 服务器将在该时间后暂停大部分功能.

      小于0的值将禁用该设置

      原文: Sets the pause when empty threshold seconds. To save resources, the pause most functions after this time if there are no players online.

      A value of less than 0 will disable the setting

      参数:
      seconds - 暂停阈值(秒)
    • createChunkData

      创建一个 ChunkData 实例,以用于区块生成。

      原文: Create a ChunkData for use in a generator. See ChunkGenerator.generateChunkData(org.bukkit.World, java.util.Random, int, int, org.bukkit.generator.ChunkGenerator.BiomeGrid)

      参数:
      world - ChunkData对应的世界
      返回:
      这个世界的新ChunkData实例
    • createBossBar

      创建一个Boss血量条实例. 血量条的进度默认为1.0.

      原文: Creates a boss bar instance to display to players. The progress defaults to 1.0

      参数:
      title - 血量条的标题
      color - 血量条的颜色
      style - 血量条的样式
      flags - 血量条的附加属性列表(可选)
      返回:
      创建的Boss血量条实例
    • createBossBar

      创建一个Boss血量条实例. 血量条的进度默认为1.0.
      该方法创建的实例会被添加到服务器的持久化存储空间中, 命令将可以编辑它们, 服务器重启后会被恢复.

      原文:Creates a boss bar instance to display to players. The progress defaults to 1.0.
      This instance is added to the persistent storage of the server and will be editable by commands and restored after restart.

      参数:
      key - boss血量条的key, 将用于获取血量条
      title - 血量条的标题
      color - 血量条的颜色
      style - 血量条的样式
      flags - 血量条的附加属性列表(可选)
      返回:
      创建的Boss血量条实例
    • getBossBars

      获取一个不可编辑的用于迭代所有持久存储的boss血量条的迭代器. 例如:使用bossbar命令创建的boss血量条 (它是持久存储的, 可由此迭代器访问).

      原文:Gets an unmodifiable iterator through all persistent bossbars.

      e.g. bossbars created using the bossbar command
      返回:
      bossbar迭代器
    • getBossBar

      获取由指定key标识的KeyedBossBar. 例如:使用bossbar命令创建的boss血量条

      原文: Gets the KeyedBossBar specified by this key.

      e.g. bossbars created using the bossbar command
      参数:
      key - 唯一的boss血量条key
      返回:
      boss血量条实例, 如果不存在则返回null
    • removeBossBar

      boolean removeBossBar(@NotNull @NotNull NamespacedKey key)
      移除由指定key标识的KeyedBossBar. 例如:使用bossbar命令创建的boss血量条

      原文: Removes a KeyedBossBar specified by this key.

      e.g. bossbars created using the bossbar command
      参数:
      key - 唯一的boss血量条key
      返回:
      如果移除成功则返回true, 否则返回false
    • getEntity

      用UUID获取实体.

      原文:Gets an entity on the server by its UUID

      参数:
      uuid - 实体的UUID
      返回:
      该UUID代表的实体,如果不存在为null
    • getAdvancement

      通过Key获得特定的进度对象.

      原文: Get the advancement specified by this key.

      参数:
      key - 寻找进度对象所需的key
      返回:
      一个进度对象. 如果它不存在,将返回null.
    • advancementIterator

      @NotNull @NotNull Iterator<Advancement> advancementIterator()
      获取一个用以遍历所有进度的迭代器对象。 进度不能够从该迭代器上删除。

      原文: Get an iterator through all advancements. Advancements cannot be removed from this iterator,

      返回:
      一个进度迭代器对象
    • createBlockData

      @NotNull @NotNull BlockData createBlockData(@NotNull @NotNull Material material)
      为指定的材质创建一个新的BlockData实例, 所有属性初始化为未指定的默认值.

      原文: Creates a new BlockData instance for the specified Material, with all properties initialized to unspecified defaults.

      参数:
      material - 材质
      返回:
      新的方块数据实例
    • createBlockData

      @NotNull @NotNull BlockData createBlockData(@NotNull @NotNull Material material, @Nullable @Nullable Consumer<? super BlockData> consumer)
      为指定的材质创建一个新的BlockData实例, 所有属性初始化为未指定的默认值.

      原文: Creates a new BlockData instance for the specified Material, with all properties initialized to unspecified defaults.

      参数:
      material - 材质
      consumer - 返回前在新实例上运行的消费者函数
      返回:
      新的方块数据实例
    • createBlockData

      从提供的数据字符串解析材质和属性, 创建一个新的BlockData实例.

      原文: Creates a new BlockData instance with material and properties parsed from provided data.

      参数:
      data - 数据字符串
      返回:
      新的方块数据实例
      抛出:
      IllegalArgumentException - 如果指定的数据无效
    • createBlockData

      @NotNull @Contract("null, null -> fail") @NotNull BlockData createBlockData(@Nullable @Nullable Material material, @Nullable @Nullable String data) throws IllegalArgumentException
      为指定的材质创建一个新的BlockData实例, 所有属性初始化为未指定的默认值, 但数据字符串中提供的属性除外.
      如果指定了material, 则数据字符串中不能同时包含材质.

      原文: Creates a new BlockData instance for the specified Material, with all properties initialized to unspecified defaults, except for those provided in data.
      If material is specified, then the data string must not also contain the material.

      参数:
      material - 材质
      data - 数据字符串
      返回:
      新的方块数据实例
      抛出:
      IllegalArgumentException - 如果指定的数据无效
    • getTag

      获取服务器中已定义的标签. 建议插件使用Tag中的具体标签而非此方法, 因为此方法不保证可用的标签, 且由于缺乏缓存可能导致性能下降.
      标签将以特定于实现的方式搜索, 但预期路径格式为 namespace/tags/registry/key.
      服务器实现可以仅处理Tag中指示的注册表.

      原文: Gets a tag which has already been defined within the server. Plugins are suggested to use the concrete tags in Tag rather than this method which makes no guarantees about which tags are available, and may also be less performant due to lack of caching.
      Tags will be searched for in an implementation specific manner, but a path consisting of namespace/tags/registry/key is expected.
      Server implementations are allowed to handle only the registries indicated in Tag.

      类型参数:
      T - 标签的类型
      参数:
      registry - 要查找的标签注册表
      tag - 标签的名称
      clazz - 标签条目的类
      返回:
      标签实例, 如果不存在则返回null
    • getTags

      @NotNull <T extends Keyed> @NotNull Iterable<Tag<T>> getTags(@NotNull @NotNull String registry, @NotNull @NotNull Class<T> clazz)
      获取服务器定义的所有标签.
      Server implementations are allowed to handle only the registries indicated in Tag.
      对返回的迭代器的可变性不作保证. 原文:Gets a all tags which have been defined within the server.
      Server implementations are allowed to handle only the registries indicated in Tag.
      No guarantees are made about the mutability of the returned iterator.
      类型参数:
      T - tag的类型
      参数:
      registry - the tag registry to look at
      clazz - the class of the tag entries
      返回:
      all defined tags
    • getLootTable

      获取指定的 战利品表.

      原文:Gets the specified LootTable.

      参数:
      key - LootTable的名称
      返回:
      LootTable实例, 若找不到返回null
    • selectEntities

      使用给定的Vanilla选择器选择实体.
      对选择器格式不作保证, 只要其与当前Minecraft版本的Vanilla格式匹配即可.
      选择器通常以'@'开头, 除非是选择玩家, 此时可以直接使用玩家名或UUID.
      注意在Vanilla中, 使用'@'选择器通常需要提升的权限, 但此方法不会检查发送者的此类权限.

      原文: Selects entities using the given Vanilla selector.
      No guarantees are made about the selector format, other than they match the Vanilla format for the active Minecraft version.
      Usually a selector will start with '@', unless selecting a Player in which case it may simply be the Player's name or UUID.
      Note that in Vanilla, elevated permissions are usually required to use '@' selectors, but this method should not check such permissions from the sender.

      参数:
      sender - 作为执行者的发送者, 必须提供
      selector - 选择器字符串
      返回:
      被选中的实体列表. 列表不会为null, 但不作进一步保证.
      抛出:
      IllegalArgumentException - 如果选择器格式错误或参数为null
    • getStructureManager

      @NotNull @NotNull StructureManager getStructureManager()
      获取用于加载和保存结构的结构管理器.

      原文: Gets the structure manager for loading and saving structures.

      返回:
      结构管理器实例
    • getRegistry

      @Nullable <T extends Keyed> @Nullable Registry<T> getRegistry(@NotNull @NotNull Class<T> tClass)
      返回给定类的注册表.
      如果给定类没有注册表则返回null.
      根据实现, 并非Registry中的每个注册表都会由此方法返回.

      原文: Returns the registry for the given class.
      If no registry is present for the given class null will be returned.
      Depending on the implementation not every registry present in Registry will be returned by this method.

      类型参数:
      T - 注册表的类型
      参数:
      tClass - 要获取的注册表的类
      返回:
      对应的注册表, 如果不存在则返回null
    • getUnsafe

      已过时。
      返回:
      UnsafeValues实例
      另请参阅:
    • spigot