
Bro Know My EMI Folder is an EMI addon for Minecraft 1.21.1 / NeoForge. It adds collapsible groups to EMI's index sidebar, with group definitions driven by KubeJS.
The folding behavior is inspired by REI's collapsible entries. Friendly link: RoughlyEnoughItems.
RecipeViewerEvents.groupEntries definitions are also consumed as fold groups where practical.foldMod for folding entries by mod namespace.foldSpawnEggs for folding items implemented as Minecraft SpawnEggItem, independent of item id naming.unfold, unfoldFluid, unfoldId, unfoldAll, unfoldAllFluid, and unfoldAllId for excluding entries from one group or every group.Add a KubeJS client script:
RecipeViewerEvents.fold(event => {
event.fold('broknowmyemifolder:ores', 'translate:emi_group.broknowmyemifolder.ores', '#c:ores')
event.fold('broknowmyemifolder:tools', 'translate:emi_group.broknowmyemifolder.tools', ['#c:tools', 'minecraft:shears'])
event.foldId('broknowmyemifolder:boats', 'translate:emi_group.broknowmyemifolder.boats', ['minecraft:oak_boat', 'minecraft:spruce_boat'], {
spread: 4,
color: 'rainbow'
})
event.foldMod('broknowmyemifolder:citadel', 'translate:emi_group.broknowmyemifolder.citadel', '@citadel', {
color: 'random'
})
event.foldSpawnEggs('broknowmyemifolder:spawn_eggs', 'Spawn Eggs', {
spread: 4,
color: 'random'
})
event.unfoldAll('quark:seed_pouch')
})
Group names may be literal text, components, or strings prefixed with translate:.
Available methods:
event.fold(id, name, filter, options?)
event.fold(name, filter, options?)
event.foldFluid(id, name, filter, options?)
event.foldFluid(name, filter, options?)
event.foldId(id, name, ids, options?)
event.foldId(name, ids, options?)
event.foldMod(id, name, mods, options?)
event.foldMod(name, mods, options?)
event.foldSpawnEggs(id, name, options?)
event.foldSpawnEggs(name, options?)
event.unfold(groupId, filter)
event.unfoldFluid(groupId, filter)
event.unfoldId(groupId, ids)
event.unfoldAll(filter)
event.unfoldAllFluid(filter)
event.unfoldAllId(ids)
unfold removes matching entries from one fold group. unfoldAll removes matching entries from every fold group.
foldMod folds entries by EMI stack id namespace. It accepts mod ids with or without a leading @, such as '@citadel'.
foldSpawnEggs folds items implemented as Minecraft SpawnEggItem, independent of whether their item id ends with _spawn_egg.
Options:
{
spread: 4,
color: 'rainbow'
}
spread controls the horizontal pixel offset between preview cards. color accepts a number, '#RRGGBB', 'rainbow', or 'random'.
See GitHub for the supported script methods and options.
Bro Know My EMI Folder 是一个适用于 Minecraft 1.21.1 / NeoForge 的 EMI 附属模组。它为 EMI 的索引侧边栏添加可折叠分组,并通过 KubeJS 定义分组内容。
这个折叠行为受到 REI collapsible entries 的启发。友情链接:RoughlyEnoughItems。
RecipeViewerEvents.groupEntries 定义。foldMod,支持按 mod 命名空间折叠条目。foldSpawnEggs,支持自动折叠底层实现为 Minecraft SpawnEggItem 的刷怪蛋,不依赖物品 id 命名。unfold、unfoldFluid、unfoldId、unfoldAll、unfoldAllFluid、unfoldAllId,支持从指定折叠组或所有折叠组中排除条目。添加一个 KubeJS client script:
RecipeViewerEvents.fold(event => {
event.fold('broknowmyemifolder:ores', 'translate:emi_group.broknowmyemifolder.ores', '#c:ores')
event.fold('broknowmyemifolder:tools', 'translate:emi_group.broknowmyemifolder.tools', ['#c:tools', 'minecraft:shears'])
event.foldId('broknowmyemifolder:boats', 'translate:emi_group.broknowmyemifolder.boats', ['minecraft:oak_boat', 'minecraft:spruce_boat'], {
spread: 4,
color: 'rainbow'
})
event.foldMod('broknowmyemifolder:citadel', 'translate:emi_group.broknowmyemifolder.citadel', '@citadel', {
color: 'random'
})
event.foldSpawnEggs('broknowmyemifolder:spawn_eggs', '刷怪蛋', {
spread: 4,
color: 'random'
})
event.unfoldAll('quark:seed_pouch')
})
组名可以是普通文本、文本组件,或带 translate: 前缀的翻译键字符串。
可用方法:
event.fold(id, name, filter, options?)
event.fold(name, filter, options?)
event.foldFluid(id, name, filter, options?)
event.foldFluid(name, filter, options?)
event.foldId(id, name, ids, options?)
event.foldId(name, ids, options?)
event.foldMod(id, name, mods, options?)
event.foldMod(name, mods, options?)
event.foldSpawnEggs(id, name, options?)
event.foldSpawnEggs(name, options?)
event.unfold(groupId, filter)
event.unfoldFluid(groupId, filter)
event.unfoldId(groupId, ids)
event.unfoldAll(filter)
event.unfoldAllFluid(filter)
event.unfoldAllId(ids)
unfold 会把匹配条目从指定折叠组里拿出来。unfoldAll 会把匹配条目从所有折叠组里拿出来。
foldMod 会按 EMI stack id 的命名空间折叠条目。它接受带或不带 @ 前缀的 mod id,例如 '@citadel'。
foldSpawnEggs 会折叠底层实现为 Minecraft SpawnEggItem 的物品,不依赖物品 id 是否以 _spawn_egg 结尾。
可选参数:
{
spread: 4,
color: 'rainbow'
}
spread 控制预览卡片之间的横向像素偏移。color 支持数字、'#RRGGBB'、'rainbow' 或 'random'。
支持的脚本方法和参数见 GitHub。