Spigot-API 1.20-R0.1-SNAPSHOT API 中文文档

Bukkit 是一个Minecraft服务器插件开发框架.

离线版本下载: 1.12.2版本 | 1.13及以上版本

本文档是由 BukkitAPI汉化组 进行汉化的非官方版本, 官方发布的英文原文版可在此处找到. 汉化版仅供参考, 出现冲突时请以英文版为准.

由于译者水平精力有限, 难免在译文处理上出现不足或没翻译完全之处. 欢迎批评指正或提交 PullRequest/Issues 到此翻译项目的仓库.

此汉化文档版本为 Spigot-API 1.20-R0.1-SNAPSHOT, 并不会与英文版的发布完全同步, 但我们会尽可能地保持更新. 与原文出现出入请见谅.


本文档用于开发插件, 并将各个主题内容分为相应的包. 本文档不涉及运行时服务器, 为项目贡献代码的步骤以及 workspace 的设置. Java基础知识是开发一个 Bukkit 插件的先决条件.

若要开发插件, 请参阅 plugin包. 此包涵盖了插件的基本要求.

若要处理事件并触发代码, 请参阅 event包.

注意: 虽然 Bukkit API 尽一切努力保证稳定性, 但这仍不是完全保证的, 尤其是跨越各大版本的情况下. 特别地, 以下列举了非 API 的不完整列表.

  • 实现接口. Bukkit API 被设计为只能由服务器软件实现. 除非某个类/接口明显被设计为扩展用途 (例如BukkitRunnable), 或者有明确标识, 它不应被插件实现. 虽然有时这很管用, 但仍不保证可以这么做, 由此产生的 bug 官方将忽略, 风险自担.
  • 构造并调用内部事件. 即使官方尽可能尝试向后兼容, 但有时候向事件添加新字段且不破坏已存在的构造器是不可能的. 为了保证 API 能持续演进, 因此事件构造器不属于插件 API.
  • 实现类. Bukkit API 中的具体的实现类(比如以"Simple"打头的的类)不属于API. 您应该通过它们的接口来访问它们.
程序包
程序包
说明
 
 
 
 
Bukkit API的顶级程序包, 包含通用的API类和接口.
与进度有关的接口.
与属性有关的类 (Minecraft Wiki - 属性).
用于操作在世界内的三位像素(方块),包括一些特定的状态.
与旗帜方块有关的类.
各种方块的 BlockData 类.
与部分方块或方块集有关的特定的 BlockData 类.
Classes relevant to signs.
与结构方块有关的类 (Minecraft Wiki - 结构方块).
与创建Boss血量条(出现在玩家客户端屏幕顶部)有关的类.
与处理玩家输入的非聊天消息(即命令)相关的类.
通过Bukkit实现来模拟Minecraft原生命令(1.12后所有模拟命令被删除)并提供一些其他必要的命令.
专门用于处理插件运行时配置的类.
致力于简化配置的读取和保存操作的类.
面向Bukkit配置实现使配置可以被执行序列化的类
致力于简化玩家与插件的直接通信的类(玩家与插件的对话,典型的场景比如操作的确认、提供插件所需数据).
物品堆对应的附魔相关的类,作为物品元数据的一部分.
为在世界内存在的非三维像素单位(实体)提供的接口,包含玩家、怪物、抛射物等.
与实体的持久化内存有关的类, 目前仅与村民有关.
为不同种类的矿车提供的接口.
用于处理触发代码的执行的类.
方块被改变或与世界进行交互等情况相关的事件.
附魔台操作相关的事件.
实体相关的事件,不包括 一些直接引用的更具体的实体类型.
悬挂实体相关的事件.
物品栏操作相关的事件.
玩家相关的事件.
与袭击有关的事件(Minecraft Wiki - 袭击).
与服务器程序状态变化有关的事件.
载具实体相关的事件.
与天气状态变化相关的事件.
世界状态和变化有关的事件.
简化世界生成实现的类.
Classes to facilitate world Structure generation.
用于操作默认的命令和主题帮助系统的类(你可以将你的命令帮助添加到系统命令帮助系统(help命令)内等等).
参与操作玩家物品栏和物品交互的类.
用于操作可以存储在物品堆的额外数据的接口.
通过本包的API可允许向物品附加自定义数据.
Armor trim meta types.
New location for recipe-related classes.
与战利品表产生与操作有关的类 (Minecraft Wiki - 战利品表).
用于简化处理地图显示内容的类.
代表每种体素(意义可参考维基百科或百度百科相关条目,即物品被抽象为体素)的种类和状态.
与特定物种有关的类.
用于提供在每种Minecraft概念上的插件指定数据的数据层.
Classes dedicated to handling data pack information.
用于提供玩家二态属性的类(推测二态为是管理员与不是管理员两种状态).
用于向各种对象附加持久化数据的类.
专门用于在运行时加载软件模组(插件)的类.
用Java编写的处理插件的类.
用于设定插件至客户端的消息传输协议的类.
代表每种药水属性和操作的类的集合.
与玩家资料有关的类.
代表一个抛射物的抛射源的类的集合.
用于使插件以指定时间间隔运行代码的类,包括线程安全.
用于管理客户端计分板显示系统的类.
Classes related to creating or using structures without creating Structure blocks in the world.
提供多种目的和单一目的的类以简化各种编程概念.
用于处理Bukkit对象流的相关类.
噪声相关工具.
permission杂项功能提供的静态方法.
Spigot特有的类.
Spigot特有的实体事件.
Spigot特有的玩家事件.