
特斯拉
A 电源 API
特斯拉是一个为跨模组通讯而设计的电力API。它允许来自不同模组的物品、方块和实体通过特斯拉电力网络进行交互。
警告: Alpha 和 Beta 版本仅供模组作者和测试者使用。支持特斯拉的模组应仅针对正式版本!使用 Alpha 版本构建可能会导致依赖它的模组崩溃!
本项目由 Nodecraft 赞助。使用代码 DARKHAX 可在首次服务中享受 30% 的折扣!
快速入门
使用特斯拉API的最佳方式是通过 Forge 的 Capability 系统。原理非常简单,Capability 是处理特定类型特斯拉相关逻辑的接口实现。这些 Capability 可以附加到受支持的物品(方块实体、物品堆和实体)上。当 Capability 被附加时,该物品将能访问所提供的特斯拉逻辑,并且其他支持特斯拉的物品也能看到它。你可以查看一个基础的 Capability 实现 这里,以及一个方块实体示例 这里。还有一个物品示例 这里。
常见问题解答
人们可以在哪里讨论特斯拉API?
有一个公开的 Discord 服务器,可以在这里找到 链接。
特斯拉与其他电力API有何不同?
特斯拉API的功能与其他电力API非常相似,然而有几个设计选择使该API更加灵活。其中一项选择是决定使用 Forge 的 capability 系统,这允许特斯拉支持被添加到几乎所有东西上。通过这个系统,模组甚至可以为原版熔炉添加特斯拉支持,而无需使用任何脏技巧。另一个选择是使用长整型(long)而不是整型(int)。这一改动使得模组能够更容易地处理更大的电力数值。
你为什么制作这个API?
这个API最初是作为一个有趣的副项目制作的,但收到了许多来自其他开发者的意外关注。它并不是为了消灭其他电力API或类似目的而创建的。
特斯拉有标准吗?
该API不强制任何标准,但有几点鼓励模组作者遵循。1 特斯拉 应等于 1 RF,方块实体不应直接实现 capability 接口,并且基于访问方向(如输入/输出等)的逻辑应通过 capability 的方法来处理。
特斯拉API应该与其他模组捆绑吗?
虽然捆绑API经常发生,并且受 Forge 支持,但这是一个非常不好的实践。虽然没有任何东西阻止其他模组捆绑该API,但这是非常不鼓励的,并且不会得到官方支持。
如果我不能捆绑API,如何处理软依赖?
Forge 提供了几个工具,使得软依赖变得非常简单。第一个是 Optional 注解。这个注解可以添加到任何实现接口的类上,如果未检测到某个特定模组 ID,该接口可以从类中被移除。这允许现有的容器对象实现特斯拉的接口,而无需硬依赖。CapabilityInject 注解 对于软依赖也极其有用。你可以将此类注解放在字段上,当特定 capability 被初始化时,该字段会被初始化;你也可以将此注解放在方法上,以便在 capability 初始化时调用这些方法。你可能会注意到,注解引用了来自特斯拉的 capability 类,这在软依赖下将缺失。由于注解和 JVM 的工作方式,在注解中进行这种引用是安全的,不会引发类定义异常。
整合包政策
是的,你可以在整合包中使用它。请不要向我发送消息询问在整合包中使用它的许可。我不会回复此类消息。
正在加载版本记录…

正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。