截图
介绍
用筛子筛方块来获取掉落物。筛子采用数据驱动设计,可筛选的内容及其掉落物由标签和战利品表控制,便于在整合包或其他模组中使用。
功能特色
- 可合成的筛子方块
- 6 种可合成的网筛等级
- 线
- 铜
- 铁
- 金
- 钻石
- 下界合金
- 每种网筛都有独立的战利品表,因此更高级的网筛可以获得更好的掉落物
- 完全通过标签和战利品表进行配置
- 还有一些有趣的彩蛋
使用方法
- 放置筛子
- 手持网筛右键安装。手持另一种网筛右键即可更换
- 手持可筛选的方块右键筛子
- 继续右键即可筛选
- 重复操作
未来计划
- 改进数据驱动的使用方式
- 放宽命名空间路径限制

面向整合包和模组开发者
Le Sieve 使用两个标签和一个战利品表路径。所有内容都位于 le-sieve 命名空间中。
1. 可筛选的方块:le-sieve:sieveable(方块标签)
将任意方块添加到此标签后,其对应物品便可放入筛子。
data/le-sieve/tags/block/sieveable.json
{
"values": [
"minecraft:dirt",
"minecraft:gravel"
]
}
只有拥有对应物品的方块才能使用
2. 可用作网筛的物品:le-sieve:sieve_meshes(物品标签)
内置网筛默认已包含在此标签中。
data/le-sieve/tags/item/sieve_meshes.json
{
"values": [
"le-sieve:string_mesh",
"le-sieve:iron_mesh"
]
}
此标签决定哪些物品可以放入筛子。筛子中显示的网筛使用自定义物品类,因此其他模组的网筛需要基于 SieveMeshItem 构建才能正确渲染。标签中的其他物品仍可存放,但不会显示。
3. 掉落物:筛子战利品表
为每种可筛选方块添加战利品表,路径如下:
data/le-sieve/loot_table/sieve/<block_id>.json
<block_id> 是方块对应物品 ID 去掉命名空间后的路径。Dirt 对应 dirt.json,因此 minecraft:dirt 使用 data/le-sieve/loot_table/sieve/dirt.json。
规则:
- 战利品表类型必须为
minecraft:block。其他类型都会被忽略,方块也会被消耗且不掉落物品。 - 使用的网筛会作为工具传入。在每个掉落池上使用
minecraft:match_tool条件,即可为不同网筛设置各自的掉落物。 - 找不到战利品表或表为空时,会记录日志,并消耗材料且不掉落任何物品。
- 战利品表始终会在
le-sieve命名空间中查找,并且只使用物品路径。不同模组中路径相同的两个方块会共用同一张表。
示例:使用线网筛筛泥土时,可能掉落木棍、皮革,或什么也不掉落(权重分别为 30、30、5)。
{
"type": "minecraft:block",
"pools": [
{
"condition": {
"type": "minecraft:match_tool",
"predicate": {
"items": "le-sieve:string_mesh"
}
},
"entries": [
{
"type": "minecraft:item",
"modifier": {
"type": "minecraft:set_count",
"count": {
"type": "minecraft:uniform",
"max": 1,
"min": 1
}
},
"name": "minecraft:stick",
"weight": 30
},
{
"type": "minecraft:item",
"modifier": {
"type": "minecraft:set_count",
"count": {
"type": "minecraft:uniform",
"max": 1,
"min": 1
}
},
"name": "minecraft:leather",
"weight": 30
},
{
"type": "minecraft:empty",
"weight": 5
}
],
"rolls": 1
}
]
}
每种网筛添加一个掉落池。不符合已安装网筛条件的掉落池会被跳过。若要让一个掉落池适用于多种网筛,请改为按标签匹配。
使用数据生成工具生成战利品表
如果你使用 Fabric 数据生成工具,就不必手动编写 JSON。模组的 SieveLootTableProvider 中包含可公开调用的静态辅助方法,可在你自己的数据提供器中复用。
| 辅助方法 | 功能 |
| — | — |
| sieveDrop(item, weight) | 按指定权重掉落恰好 1 个物品 |
| sieveDrop(item, weight, min, max) | 随机掉落数量介于 min 和 max 之间的物品 |
| sieveEmpty() | 权重为 5 的“无掉落”条目 |
| sieveEmpty(weight) | 自定义权重的“无掉落”条目 |
每个辅助方法都会返回一个 LootPoolEntryContainer.Builder<?>,将其传入掉落池的 .add(...) 即可。
示例:砂砾战利品表中,铁网筛会掉落燧石(有时为 2 个)或什么也不掉落;金网筛则会掉落燧石或金粒。
biConsumer.accept(ResourceKey.create(Registries.LOOT_TABLE, LeSieveMod.Id("sieve/gravel")), GravelBuilder(itemLookUp));
private LootTable.@NotNull Builder GravelBuilder(HolderLookup.RegistryLookup<Item> itemLookUp) {
LootTable.Builder builder = LootTable.lootTable().setParamSet(LootContextParamSets.BLOCK).withPool(LootPool.lootPool().setRolls(ContextIntProviders.exactly(1))
.add(sieveDrop(Items.FLINT, 40, 1, 2))
.add(sieveEmpty(10))
.when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(itemLookUp, LeSieveItems.IRON_MESH))));
builder.withPool(LootPool.lootPool().setRolls(ContextIntProviders.exactly(1))
.add(sieveDrop(Items.FLINT, 30))
.add(sieveDrop(Items.GOLD_NUGGET, 10))
.add(sieveEmpty())
.when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(itemLookUp, LeSieveItems.GOLD_MESH))));
return builder;
}
注意事项:
- 战利品表键必须是
le-sieve:sieve/<item_path>。筛子会在该命名空间中查找,文件则会生成在data/le-sieve/loot_table/sieve/下。 - 战利品表的参数集必须为
LootContextParamSets.BLOCK。 - 使用
MatchTool和网筛物品来匹配网筛。只有安装了对应网筛时,该掉落池才会生效。
常见问题
Le Sieve 支持哪些 Minecraft 版本?
Le Sieve 支持 Minecraft Java 版 26.3,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
Le Sieve 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。
A5ho9999 的其他作品
查看全部 →Totem Party Popper
更改你的图腾及图腾触发时的粒子颜色(和显示设置)
Hopper The Hedgehog (Faster Hoppers/Dispensers)
提高漏斗、发射器和投掷器的传输速度或数量,快捷且可自定义。
Smelter The Hedgehog (Fast Furnace/Smelting)
提高熔炉、高炉和烟熏炉的烧炼速度。快捷且可自定义。
Stonecutter GUI Remastered
将切石机界面改得更清晰,放大图标并支持自动补充。
评论
登录后评论和评分