基本信息
我的世界Java版本
平台
运行环境
其他链接
搬运团队
详情信息
特斯拉
特斯拉是一个为跨模组通信设计的能量 API。它允许来自各种模组的物品、方块和实体在特斯拉能量网络上相互交互。
警告: Alpha 和 Beta 版本是为模组作者和测试人员准备的。支持特斯拉的模组应该只针对完整版本!使用 Alpha 版本可能会导致需要它的模组崩溃!
开始使用
使用特斯拉 API 的最佳方式是通过Forge 的能力系统。 这个想法非常简单,能力是处理某种与特斯拉相关逻辑的接口的实现。然后这些能力可以附加到支持的东西(方块实体、物品堆叠和实体)上。当一个能力被附加时,那个东西将能够访问提供的特斯拉逻辑,并且对其他启用特斯拉的东西可见。您可以在这里看到一个基本的能力实现,以及一个方块实体示例这里。这里还有一个物品示例这里。
常见问题解答
我们可以去哪里讨论特斯拉 API?
有一个公共的 Discord 服务器,可以在这里找到。
特斯拉与其他能量 API 有什么不同?
特斯拉 API 的功能与其他能量 API 非常相似,但是有几个设计选择使该 API 更加灵活。其中一个选择是决定使用 Forge 的能力系统,这允许将特斯拉支持添加到几乎任何东西上。使用此系统,一个模组可以为原版熔炉添加特斯拉支持,而无需使用任何不正当的技巧。另一个决定是使用长整型而不是整型。这种变化允许模组轻松处理更大的能量数值。
为什么制作这个 API?
该 API 最初是作为一个有趣的副项目制作的,但受到了其他开发人员的大量意外关注。它不是为了消灭其他能量 API 或类似的事情而创建的。
特斯拉有任何标准吗?
该 API 不强制任何标准,但是鼓励模组作者遵循一些事情。一个特斯拉应该等于 1 RF,方块实体不应直接实现能力接口,并且侧面逻辑应通过能力方法处理。
特斯拉 API 应该与其他模组捆绑吗?
虽然捆绑 API 经常被做,并且被 Forge 支持,但这是一个非常不好的做法。虽然没有什么可以阻止其他模组捆绑 API,但这是非常不鼓励的,并且不会得到官方支持。
如果我不能捆绑 API,那么软依赖如何工作?
Forge 提供了几个工具,使软依赖变得非常简单。第一个是可选注释。这个注释可以添加到实现接口的任何类中,如果未检测到某个特定的模组 ID,则可以从类中剥离该接口。这允许现有的容器对象实现特斯拉的接口而没有硬依赖。能力注入注释 对于软依赖也非常有用。您可以在字段上使用此注释,以便在所述能力初始化时用特定能力对其进行初始化。您还可以将此注释放在方法上,以便在能力初始化时调用它们。您可能会注意到的一件事是,注释引用了来自特斯拉的能力类,在软依赖下该引用将缺失。由于注释和 JVM 的工作方式,在注释中进行此引用是安全的。它不会给您一个类定义异常。
模组包政策
是的,您可以在模组包中使用此 API。请不要给我发消息请求在您的模组包中使用此 API 的许可。我不会回复此类消息。