#cli-tool #factory #production #output #calculate #layout #building

app foxhole-production-calculator-cli

API 用于计算建设生产设施所需建筑和资源

5 个版本

0.2.2 2022 年 10 月 7 日
0.2.1 2022 年 9 月 26 日
0.2.0 2022 年 9 月 26 日
0.1.1 2022 年 9 月 11 日
0.1.0 2022 年 9 月 11 日

#21#factory

MIT 许可证

42KB
832

Foxhole 生产计算器 CLI

foxhole 生产计算器的 CLI。

这是什么?

这是一个 CLI 工具,允许您规划从 Foxhole 工厂生产特定产出的所需建筑数量。这将大大减少在整理所有工厂的依赖关系树时所需的大量猜测。

为什么是 CLI 而不是网页应用?

因为我是个懒汉,而且我在前端开发方面很糟糕。请别打扰我。

示例

以下是输出 100 根管子每小时且从外部来源接收组件的工厂的示例输出。请注意,建筑需求仅针对主要结构,不包括建设地基、电杆等成本。实际上,很难计算这些物品所需数量,因为您将建设多少完全取决于您的工厂布局。

foxhole-production-calculator-cli pipe 100 -u components

{
  "buildings": [
    {
      "building": "Coal Refinery",
      "upgrade": "Coal Liquefier",
      "count": 1.3333334
    },
    {
      "building": "Materials Factory",
      "upgrade": "Smelter",
      "count": 1.3888888
    },
    {
      "building": "MetalWorks Factory",
      "upgrade": null,
      "count": 3.3333333
    },
    {
      "building": "Oil Refinery",
      "upgrade": "Cracking Unit",
      "count": 0.2962963
    },
    {
      "building": "MetalWorks Factory",
      "upgrade": "Blast Furnace",
      "count": 5.0
    },
    {
      "building": "Coal Refinery",
      "upgrade": "Advanced Coal Liquefier",
      "count": 0.64102566
    }
  ],
  "power": 81.5,
  "build_cost": {
    "ConstructionMaterials": 2375,
    "BasicMaterials": 400,
    "SteelConstructionMaterials": 200,
    "ProcessedConstructionMaterials": 420
  },
  "inputs": {
    "Water": 2942.3076,
    "Components": 5500.0,
    "Coal": 8884.615,
    "Salvage": 1999.9999
  }
}

限制

目前此工具仅计算依赖关系树的最优路径。在这种情况下,最优意味着优化生产速度,即选择比另一种资源输出更多的建筑。在某些情况下,这可能不符合您的需求。例如,您可能希望建设一个在牺牲较慢产出代价下最小化电力输入的工厂。目前我们不支持这些用例,因为很难列出我们可以在遍历依赖关系树时做出决策的所有可能的价值函数。

安装说明

建议使用 Cargo 进行安装。如果您尚未安装 cargo,请按照您操作系统的说明在 rustup.rs 进行操作。

安装 cargo 后,请运行以下命令

cargo install foxhole-prodcution-calculator-cli

命令

以下是当前支持命令的帮助输出

USAGE:
    foxhole-production-calculator-cli [OPTIONS] <MATERIAL> <RATE>

ARGS:
    <MATERIAL>    Specifies the output material for the factory [possible values:
                  basic-materials, salvage, construction-materials,
                  processed-construction-materials, oil, petrol, coal, coke,
                  explosive-materials, heavy-explosive-materials, flame-ammo, components, water,
                  heavy-oil, enriched-oil, sulfur, steel-construction-materials,
                  concrete-materials, pipe, assembly-materials-i, assembly-materials-ii,
                  assembly-materials-iii, assembly-materials-iv, assembly-materials-v,
                  metal-beam, sand-bag, barbed-wire, rocket3-c-high-explosive, rocket4-c-fire,
                  shell75-mm, shell945-mm, shell120-mm, shell150-mm, shell250-mm, shell300-mm]
    <RATE>        Specifies the desired rate of output for the given material. [Unit/Hour]

OPTIONS:
    -h, --help                         Print help information
    -u, --user-inputs <USER_INPUTS>    Optional argument specifying inputs that will be brought in
                                       externally from the factory. Multiple values can be input
                                       with comma seperators [possible values: basic-materials,
                                       salvage, construction-materials,
                                       processed-construction-materials, oil, petrol, coal, coke,
                                       explosive-materials, heavy-explosive-materials, flame-ammo,
                                       components, water, heavy-oil, enriched-oil, sulfur,
                                       steel-construction-materials, concrete-materials, pipe,
                                       assembly-materials-i, assembly-materials-ii,
                                       assembly-materials-iii, assembly-materials-iv,
                                       assembly-materials-v, metal-beam, sand-bag, barbed-wire,
                                       rocket3-c-high-explosive, rocket4-c-fire, shell75-mm,
                                       shell945-mm, shell120-mm, shell150-mm, shell250-mm,
                                       shell300-mm]
    -V, --version                      Print version information

贡献

欢迎 PR 和问题。此外,如果您发现工厂值有任何不一致,请随时提交带有编辑 toml 文件的 PR 或打开一个问题。

依赖关系

~2.9–4MB
~74K SLoC