
Tweaksmith
掌控你的合成!此模组让你能在游戏运行时编辑配方,无需修改核心游戏文件。通过简单的 Lua 和 JSON 配置文件,轻松调整配方产物、合成时间、材料需求及经验值倍率。
查看大图[center]Palworld Tweaksmith Mod[/center]
💡 这是关于什么的? 这个模组用于对游戏进行简单的生活品质改进或平衡调整。它使用UE4SS脚本库以Lua语言编写。该模组会在运行时修改核心物品制作数据表(DT_ItemRecipeDataTable)。不同于替换游戏文件,它会拦截数据并覆盖用户在JSON配置文件中定义的特定配方参数。 这允许你全局调整以下关键配方属性:
- 输出数量:每次制作生产的物品数量。
- WorkAmount: 制作所需的基础时间(以秒为单位)。
- 材料:所需材料及每种材料的数量。
- 经验倍率:完成制作后所获得经验值的倍率。
⚙️ 如何使用 所有修改都通过结构明确的JSON文件进行管理。
1. 识别配方名称 每个修改的键值必须是游戏文件中配方的精确内部名称。这些名称区分大小写。为了方便查找,这里提供了一个小导出列表RecipeNames.csv。我没有测试列表中的所有名称,但到目前为止没有发现任何问题。这个列表是由AI生成的,使用时请谨慎。
2. 配置一个配方 你可以在JSON文件中定义你的配方修改。为此,在项目的Recipes目录中创建一个新的或编辑已有的JSON文件。
Tweaksmith
├── Scripts/
└── 配方/
├── global.json
├── sphere.json
└── ammo.json
文件名几乎可以是任何内容,但不能包含特殊字符,且必须具有**.json扩展名。可以有多个JSON文件,模组将使用所有文件。JSON中的配方对象应按下文所示构建。所有属性修改均为可选**项,此示例仅展示可能性。
{
"帕鲁球": {
"OutputAmount": 10,
"WorkAmount": 10,
"ExpRate": 1,
"材料": {
"1": { "Name": "木头", "Amount": 5 },
"2": { "Name": "石头", "Amount": 10 },
"3": { "Name": "无", "Amount": 0 }
}
}
}
**修改材料 ** 材料索引编号从[1]到[5]。
- 要更改材料:提供新的名称(例如,"IronIngot")和新的数量。
- 移除材料的方法:将名称设置为"无",数量设置为0。
**全局修饰符 ** 如果你想要对所有配方生效的配方修改,你可以用星号 (*) 作为键来定义你的配方。所有全局修改将在任何显式修改之前应用。
{
"*": {
"WorkAmount": 30
}
}
这将使所有配方的WorkAmount设置为30秒。
如果你想在不同JSON文件中应用多个全局修改,那么需要明确指定这些修改的优先级。这是因为底层机制会将所有修改合并为一个后再应用更改。如果不提供优先级,全局修改的合并顺序将不可预测,可能导致意外结果。 要对全局配置应用优先级,只需在星号后添加一个数字。数字越大,其合并顺序越靠后。默认情况下,所有优先级级别均为零。
{
"*": {
"WorkAmount": 30,
"OutputAmount": 20
},
"*3": {
"WorkAmount": 20
}
}
这将把每个配方的WorkAmount 设为 20 秒,OutputAmount 设为 20。
分组 ** 如果你不想对每个配方都应用修改,而只是针对一组配方,可以利用 ItemType 属性。每个物品有两种类型,ItemTypeA 和 ItemTypeB。你可以让全局修改器在应用更改前检查这些 ItemTypes,这样就可以将某些物品排除在全局修改之外。 你可以通过在配置键上指定ItemType来实现,每个类型之间用冒号(:)连接。 模式如下:*::。 ItemType 的两种规范都是可选的**,但 ItemTypeB 不能在没有 ItemTypeA 的情况下存在。组的规范越具体,后者将被合并,不受优先级影响。
{
"*": {
"WorkAmount": 30
},
"*:弹药": {
"WorkAmount": 20
},
"*:Material:MaterialIngot": {
"WorkAmount": 10
}
}
这个例子会将所有物品配方的WorkAmount 设为 30 秒,所有弹药 类型配方设为 20 秒,而所有材料锭 类型配方设为 10 秒。 您可以在 ItemTypeA.csv 和 ItemTypeB.csv 中找到可用的 ItemTypes。
动态修饰符 ** 如果你想相对于原始配方的值进行修改,可以通过提供一个与动态修饰符模式正确匹配的特定字符串来实现,将其设置为某个属性的值。 模式是这样的:::<修饰符>::<操作数>**。 可用的修饰符有:
- ADD:将操作数添加到对应的属性中。
- 减法:从对应属性中减去操作数。
- 乘法:将对应的属性乘以操作数。
这些动态修饰符可以应用于每个基于数字的配方属性。 这是一个示例。
{
"*": {
"WorkAmount": "::MULTIPLY::0.5"
}
}
这个例子会将每个配方的WorkAmount减半。
⬇️ 前提条件 本模组需要已安装并正常运行的UE4SS(虚幻引擎4/5脚本系统),且目前仅支持最新"实验性"版本。更多详情请访问UE4SS仓库。
🛠️ 安装
1. 找到Mod目录 导航到UE4SS Mods文件夹。通常看起来像这样:...\Palworld\Pal\Binaries\Win64\ue4ss\Mods
2. 下载模组 **3. 安装模组 ** 将模组内容解压到您的 ...\Mods 文件夹中。 此后,文件夹结构应大致如下所示:
ue4ss/
└── 模组/
└── 调整师/
├── 脚本/
│ └── main.lua
│ 等等。
└── 配方/
└── your_recipes.json
4. 应用引擎兼容性配置 由于游戏引擎的更新,需要使用特殊的配置文件才能让 UE4SS 与《幻兽帕鲁》的内存布局正常配合。 要获得所需的配置:
- 下载帕鲁世界优化版UE4SS发布对应的版本。
- 在下载的ue4ss文件夹中查找MemberVariableLayout.ini文件。
- 复制此文件并粘贴到你的《幻兽帕鲁》UE4SS主安装文件夹中:...\Palworld\Pal\Binaries\Win64\ue4ss。
最终的布局应该是这样的:
ue4ss/
└── MemberVariableLayout.ini
**5. 在 UE4SS 中启用模组 ** 回到主UE4SS Mods文件夹 ...ue4ss\Mods并打开 mods.txt 文件。 将以下内容添加到文件的末尾:
改进工匠 : 1
保存并关闭mods.txt。该模组现已激活,将在你下次启动《幻兽帕鲁》时加载!
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。