战利品表API
基于配置的战利品表API,包含等级、加权掷骰和保证掉落
Loot Tables API
仅二进制库,用于战利品生成。
描述
⚠️ 这是一个早期阶段 API(v0.1.1)。API 可能会发生变化,且不保证向后兼容。
此库提供战利品表服务,支持以下功能:
- 战利品 模式
- 战利品 等级
- 权重随机
- 保证掉落
- 可选元数据(名称、稀有度)
- 直接插入到物品栏
- 可配置的物品栏放置方式(随机 / 顺序)
- 运行时配置重载(管理员命令)
它旨在作为其他服务器插件或模组的依赖项使用。
安装
1. 开发者(必需)
- 将 LootGenerator 模组放入
Mods文件夹。 - 在世界设置中启用该模组。
⚠️ 重要提示 LootGenerator 模组必须安装在 Mods 文件夹 并在世界中启用。 否则,战利品服务将不可用。
2. 添加依赖
将依赖项添加到您的模组配置文件中。
manifest.json
"Dependencies": {
"nofrfa.vectome.loot:LootGenerator": "*"
}
pom.xml
<dependency>
<groupId>nofrfa.vectome.loot</groupId>
<artifactId>LootGenerator</artifactId>
<version>0.1.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/LootGenerator-0.1.1.jar</systemPath>
</dependency>
📦 本地库
<您的模组>/libs/LootGenerator-0.1.1.jar
给开发者的注意事项 ⚙️
- LootGenerator 模组必须安装在服务器上并在世界中启用。
systemPath中指定的版本必须与实际 JAR 版本匹配。- 此库为仅二进制。
使用方法
获取服务
战利品服务在启动时自动注册,可全局访问。
⚠️ 重要提示 建议使用
LootTableServices.getOrThrow()而非get()以确保战利品服务可用。
随机生成战利品(不放入物品栏)
LootTableService lootService = LootTableServices.getOrThrow();
List<ItemStack> items = lootService.roll(
"Default", // 模式
"Basic", // 等级
3 // 随机次数
);
返回生成的 ItemStack 列表。
将战利品直接放入物品栏
LootInsertResult result = LootTableServices.getOrThrow().roll(
"Default",
"Rare",
2,
playerInventory
);
List<ItemStack> inserted = result.inserted();
List<ItemStack> remainder = result.remainder();
inserted— 成功放入物品栏的物品remainder— 无法放入的物品
配置
配置文件在首次启动时自动创建,之后可以安全编辑。
配置结构
{
"Modes": {
"Default": {
"Tiers": {
"Basic": [
{
"Item": "Item_Id",
"Name": "CustomName",
"Guaranteed": true,
"Rarity": 5,
"Weight": 10,
"Min": 1,
"Max": 5
}
]
}
}
}
}
战利品条目字段
| 字段 | 类型 | 必需 | 默认值 | 描述 |
|---|---|---|---|---|
Item |
字符串 | 是 | – | 物品标识符 |
Weight |
整数 | 否 | 0 | 随机选择的权重 |
Guaranteed |
布尔值 | 否 | false | 总是掉落一次;如果 Weight > 0,则也参与权重随机 |
Min |
整数 | 否 | 1 | 最小数量 |
Max |
整数 | 否 | 1 | 最大数量 |
Name |
字符串 | 否 | – | 可选的自定义名称 |
Rarity |
整数 | 否 | – | 可选的稀有度元数据 |
备注:
- 保证条目在权重随机之前先掉落一次
Weight > 0的条目参与权重随机,无论Guaranteed值如何- 如果一个战利品条目同时设置了
Guaranteed和Weight,则可能多次掉落 Weight <= 0的条目不参与权重随机- 所有数值在加载时会自动标准化
管理员命令
这些命令面向服务器管理员和开发者。 它们不添加任何游戏功能。
/lt reload — 在运行时重新加载战利品配置。
权限: loottables.reload
兼容性
- API 和行为可能随未来的 Hytale 更新而变化
- 不保证向后兼容
源代码
未发布。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。