HyVoltz

HyVoltz

一个用于发电、输电和储能的电力API;旨在拥有一个统一的库。

图书馆

HyVoltz

HyVoltz 是一个用于 Hytale 模组的轻量级电力 API。该 API 名为 HyVoltz;它处理的能量单位称为 voltz。所有存储、传输和面输入/输出工具均以 voltz 为单位工作。

特性

  • Voltz 存储与传输接口
  • 按方块面配置的面输入/输出
  • 模拟感知的传输辅助工具
  • 用于快速集成的简单参考实现

API 概览

包:com.siriuswolf.hyvoltz.api.power

核心类型(存储/传输 voltz):

  • PowerConsumer(接收)
  • PowerProvider(提取)
  • PowerStorage(两者 + 容量)

面输入/输出:

  • PowerSide 映射到 Hytale BlockFace
  • PowerConnection 定义 NONE(无)/ INPUT(输入)/ OUTPUT(输出)/ BOTH(双向)
  • SidedPowerAccess / MutableSidedPowerAccess 用于每面配置
  • SidedPowerConsumerSidedPowerProviderSidedPowerStorage 用于面控制输入/输出

参考实现:

  • SimplePowerStorage 用于容量和速率受限的输入/输出
  • SidedPowerConfig 用于每面连接状态
  • SidedPowerStorageImpl 结合两者以便于使用

辅助工具:

  • PowerTransfer 用于带模拟支持的稳定传输

基本用法

创建一个简单的电容器式存储(10,000 voltz):

import com.siriuswolf.hyvoltz.api.power.*;

public final class BasicCapacitor extends SidedPowerStorageImpl {
    public BasicCapacitor() {
        super(10_000, 200, 200, new SidedPowerConfig(PowerConnection.BOTH));
    }
}

在两个存储之间传输 voltz:

int moved = PowerTransfer.transfer(source, PowerSide.EAST, target, PowerSide.WEST, 100, false);

提示:我非常推荐在构建时使用 shadowjar 插件!

服务端 API 依赖

项目目标为 Hytale 最新服务端 API。如果你的安装路径不同,请在 build.gradle.kts 中更新服务器 jar 路径:

...game/latest/Server/HytaleServer.jar

集成说明

  • 将 HyVoltz 添加到你的模组类路径中,并从 com.siriuswolf.hyvoltz.api.power 引用 API。
  • 如果你的模组作为独立插件与 HyVoltz 一起加载,请在清单文件中将其声明为依赖项。

许可证

Apache 2.0。参见 https://www.apache.org/licenses/LICENSE-2.0 (这仅意味着你不能出售它,并且需要注明出处,请不要将其称为你自己的作品。但你可以用它做任何你想做的事,尽情发挥,做出酷炫的东西!)