
KubeJEI
KubeJS 的高级 JEI 支持
查看大图KubeJEI
为 KubeJS 提供高级 JEI 支持,允许开发者完成 JEIPlugin 几乎能做的所有事情。
功能特性:
- 将
JEIPlugin中的所有功能通过事件重定向到 KubeJS - 自定义 JEI 分类
- 提供“屏蔽”分类和配方的相关事件。通过提前过滤而非在加载完成后隐藏,可以省去几乎全部相关计算。
- 辅助工具,用于创建复合
IDrawables、实体渲染以及自定义计时器 - 提供
/kube_jei reload命令快捷方式,用于重新加载 KubeJS 和 JEI
示例(适用于 1.21.1 neoforge 的 2.0.0 版本)
屏蔽一个分类及其所有配方:
KubeJEIEvents.denyCategory(event => {
event.deny("minecraft:campfire_cooking")
})
KubeJEIEvents.denyRecipe(event => {
event.denyAllInCategory("minecraft:campfire_cooking")
})
为自定义配方创建自定义分类:
/** @type {{input: Internal.$ItemStack_, catalyst: Internal.$FluidStack_, output: Internal.$ItemStack_}[]} */
const recipes = [
{
input: "ae2:1k_crafting_storage",
catalyst: "minecraft:milk",
output: "ae2:16k_crafting_storage"
}
]
KubeJEIEvents.registerCategories(event => {
const helpers = event.registration.jeiHelpers
event.custom("my:example_category", builder => {
builder.icon = helpers.guiHelper.createDrawableItemStack("minecraft:gold_ingot")
builder.background = helpers.guiHelper.createBlankDrawable(20 * 4, 18)
builder.title = Component.literal("Random Conversion")
// 实际上你可以直接使用 (...) => {...},而不用写 { setRecipe(...) {...} }
// 但不幸的是,使用 lambda 时将无法获得类型提示(截至 ProbeJS 8.0.3)。希望未来能修复
builder.recipeSetHandler = {
setRecipe(builder, recipe, focuses) {
/** @type {typeof recipes[0]} */
const data = recipe.data
const catalyst = Fluid.of(data.catalyst)
builder.addInputSlot(0, 0).addItemStack(data.input)
builder.addInputSlot(20, 0).addFluidStack(catalyst.fluid, catalyst.getAmount(), catalyst.componentsPatch)
builder.addOutputSlot(20 * 3, 0).addItemStack(data.output)
}
}
builder.drawHandler = {
draw(recipe, graphics, mouseX, mouseY) {
helpers.guiHelper.recipeFlameFilled.draw(graphics, 40, 1)
}
}
})
})
KubeJEIEvents.registerRecipes(event => {
event.custom("my:example_category").addAll(recipes)
})
仅适用于 1.16 版本
请注意,所有 1.4.0+ 版本需要运行 Rhizo 而非 Rhino,这是因为适用于 Minecraft 1.16 的 Rhino 早已停止维护,缺少我们用于生成 JSDoc 所需的功能。
事件列表:
kube_jei.on_runtime_availablekube_jei.register_advancedkube_jei.register_categorieskube_jei.register_fluid_subtypeskube_jei.register_gui_handlerskube_jei.register_ingredientskube_jei.register_item_subtypeskube_jei.register_recipe_catalystskube_jei.register_recipeskube_jei.register_recipe_transfer_handlerskube_jei.register_vanilla_category_extensionskube_jei.deny.recipeskube_jei.deny.categories
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。