
自定义数据盒
一个非常强大的模组,让你能够制作自定义数据箱,包含自定义解锁条件、名称、描述和生成点,并且可以制作无限数量的数据箱。
查看大图自定义数据盒
一个非常强大的模组,让你能够制作自定义数据箱,包含自定义解锁条件、名称、描述和生成点,并且可以制作无限数量的数据箱。
如何设置一个新的 DataBox.json?
Example.json
{
"DataboxID": "SeaglideDatabox",
"AlreadyUnlockedDescription": "海蛾号数据盒。已解锁",
"PrimaryDescription": "解锁海蛾号",
"SecondaryDescription": "一个用于解锁海蛾号的数据盒",
"ItemToUnlock": "海蛾号",
"BiomesToSpawnIn": [
{
"biome": "twistyBridges_Cave_Ground",
"数量": 1,
"probability": 0.1
},
{
"biome": "twistyBridges_Coral",
"数量": 1,
"probability": 0.1
},
{
"biome": "sparseArctic_Ground",
"数量": 1,
"probability": 0.1
}
],
"CoordinatedSpawns": [
{
"Position": {
"x": 5.0,
"y": -5.0,
"z": 5.0
},
"EulerAngles": {
"x": 10.0,
"y": -100.0,
"z": 253.0
},
"Scale": {
"x": 0.0,
"y": 0.0,
"z": 0.0
}
}
]
}
这些 Json 文件放入 DataBox 文件夹。
我在哪里可以找到生物群系列表?
在 CustomDataBoxes 文件夹内的 Biomes.json。
如何在你的模组中使用 CustomDataBoxes API?
设置您的项目
你需要添加对 CustomDataboxes.dll 的引用。一旦完成,你所需的所有 CustomDataboxes 内容都将位于 using CustomDataboxes.API 命名空间中。只需在您的 using 语句中添加这一行。
CustomDataboxes 属性
在将 CustomDataboxes.API 添加到您的 using 语句之后,有几个属性需要设置以确保其正常工作。
之后,你可以调用 Patch() 方法,CustomDataboxes 会处理其他所有事情。
| 要设置的属性 | 类型 | 描述 |
|---|---|---|
| DataboxID | string | 唯一标识符 |
| PrimaryDescription | string | 主要描述 |
| SecondaryDescription | string | 次要描述 |
| TechTypeToUnlock | TechType | 要解锁的技术类型 |
| BiomesToSpawnIn | List<LootDistributionData.BiomeData> | 生成生物群系列表 |
修补你的数据箱
- 实例化一个新的 Databox 实例
- 填充所有必需的属性(以及任何可选属性)
- 调用
Patch()方法在实例上调用方法,这样就可以了,一切准备就绪。
示例:
namespace ExampleDatabox
{
using CustomDataboxes.API;
using System.Collections.Generic;
using BepInEx;
using UnityEngine;
using System.Collections;
using UWE;
using Nautilus.Handlers;
using Nautilus.Assets;
[BepInPlugin(GUID, MODNAME, VERSION)]
[BepInDependency("com.snmodding.nautilus", BepInDependency.DependencyFlags.HardDependency)]
[BepInDependency("com.CustomDataboxes.Metious", BepInDependency.DependencyFlags.HardDependency)]
public class ExampleDataboxMod : BaseUnityPlugin
{
private const string MODNAME = "CustomDataBoxtest",
Author = "库凯",
GUID = "com.CustomDataBoxtest.CKmod",
VERSION = "1.0.0.0";
private readonly string alreadyUnlockedTooltip = "已解锁";
private readonly string primaryTooltip = "主要工具提示";
private readonly string secondaryTooltip = "次要提示";
private readonly string ClassID = "StasisRifleDataboxID";
private readonly TechType unlockTechType = TechType.StasisRifle;
public void Awake()
{
DataBox myDatabox = new DataBox()
{
DataboxID = "StasisRifleDatabox",
PrimaryDescription = "停滞步枪数据盒",
SecondaryDescription = "停滞步枪数据盒",
BiomesToSpawnIn = new List<LootDistributionData.BiomeData>
{
new LootDistributionData.BiomeData()
{
biome = BiomeType.twistyBridges_Cave_Ground,
计数 = 1,
概率 = 0.1f
},
new LootDistributionData.BiomeData()
{
生物群落 = 生物群落类型.扭曲桥梁_珊瑚,
计数 = 1,
概率 = 0.5f
},
new LootDistributionData.BiomeData()
{
生物群落 = 生物群落类型.稀疏北极_地面,
计数 = 1,
概率 = 0.1f
}
},
TechTypeToUnlock = TechType.StasisRifle
};
myDatabox.Patch(); // 一旦修补完成,你就可以继续了。
}
}
}
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。