LogoKubeJS MNA

绑定

绑定

本页记录 MnaJSPlugin.registerBindings(...) 直接暴露给 KubeJS 的 Java 绑定。

如果你需要确认脚本里有哪些全局名称可用,请看本页。类型化 id、状态 helper、图案 helper 和 Probe 说明见 辅助与 Probe

核心法术与亲和绑定

以下全局变量可以直接在脚本中使用:

  • Affinity
  • Attribute
  • SpellAttribute
  • ComponentApplicationResult
  • SpellTarget
  • MnaShapes
  • MnaModifiers

使用场景:

  • Affinity:派系、法术和能量亲和判断。
  • AttributeSpellAttribute:组件和修饰符属性定义。
  • ComponentApplicationResult:法术效果回调返回值。
  • SpellTarget:形状目标选择回调和目标检查。
  • MnaShapesMnaModifiers:访问 M&A 内置形状或修饰符常量。

示例:

/**
* @type {Internal.CustomSpellEffect$Builder}
*/
const builder = event.create("kubejs:arcane_pulse", "basic");
builder
.affinity(Affinity.ARCANE)
.addAttribute(Attribute.RANGE, 1.0, 1.0, 4.0, 0.5, 0.25)
.applyEffect((source, target, modificationData, context) => {
return ComponentApplicationResult.SUCCESS;
});

说明:

  • SpellAttributeAttribute 的别名绑定。
  • 如果 API 接受 id,优先使用类型化 id。只有当 API 确实需要常量、枚举或回调返回值时,才使用这些直接绑定。

构装体系统绑定

以下全局变量暴露构装体系统:

  • MnaConstructTasks
  • ConstructCapability
  • ConstructSlot
  • ConstructMaterial
  • ItemConstructPart
  • ConstructTask
  • ConstructAITask
  • ConstructAITaskParameter
  • ConstructParameterTypes
  • ConstructTaskBooleanParameter
  • ConstructTaskIntegerParameter
  • ConstructTaskItemStackParameter
  • ConstructTaskPointParameter
  • ConstructTaskAreaParameter
  • ConstructTaskFilterParameter
  • ConstructMutexArms
  • ConstructMutexHead
  • ConstructMutexLegs
  • ConstructMutexTorso

实际用法:

  • MnaConstructTasks 是脚本里复用已有 M&A 任务的主要入口,可用于 basedOn(...)aiTask(...)
  • ConstructCapabilityConstructSlotConstructMaterial 可以直接访问,但 MnaJS 的注册 API 仍推荐使用类型化 id 或支持的小写字符串。
  • 参数类和 mutex 常量主要用于高级构装体任务元数据或检查,不是普通配方写作必须内容。

示例:

StartupEvents.registry("mna:construct_task", (event) => {
/**
* @type {Internal.CustomConstructTask$Builder}
*/
const builder = event.create("kubejs:scripted_wait", "basic");
builder
.basedOn(MnaConstructTasks.WAIT)
.aiTask(MnaConstructTasks.WAIT)
.texture("mna:textures/gui/construct_tasks/wait.png");
});

说明:

  • 当前构装体任务脚本支持是基于已有 Java AI 任务的元数据复用,不是 JS 原生 AI 任务创作。
  • 注册构装体部件时,优先写 material("kubejs:moonsteel")slot("head") 这样的类型化输入。只有回调确实需要 Java 对象时,再传裸对象。

Tier 绑定

直接全局变量:

  • Tier
  • Tiers

当 API 需要原版工具 tier 常量,而不是 M&A 类型化 id 时使用。

示例:

StartupEvents.registry("item", (event) => {
event
.create("kubejs:moonsteel_wand_core", "tiered_item")
.tier(Tiers.DIAMOND);
});

通用工具绑定目录

这些全局变量也会直接绑定,更详细的用法见 辅助与 Probe

  • CollectionUtils
  • MATags
  • MathUtils
  • BiomeUtils
  • ProjectileHelper
  • PlayerMagic
  • PlayerProgression
  • ProgressionEvents
  • WorldMagic
  • InventoryUtilities
  • RecipeUtil
  • MnaPatternHelper
  • MnaRitualReagent

本页作为名称索引;具体用法以 helper 页面为准。

服务端专用绑定

这些全局变量只在服务端脚本中暴露:

  • MNARecipesHelper
  • ProgressionEventIDs
  • StructureUtils
  • EntityUtil
  • SummonUtils
  • ShearHelper
  • MnaFactionUtil
  • ManaItemUtil
  • MnaEntityHelper
  • MnaFactionRaidHelper

用途包括底层配方 JSON 生成、结构查询、实体和召唤辅助、剪切检查、法力物品查询、派系与 raid 集成。

客户端专用绑定

这些全局变量只在客户端脚本中暴露:

  • WorldRenderUtils
  • GuiRenderUtils
  • ParticleConfigurations

它们只用于客户端渲染相关逻辑,不要在 server_scripts 中调用。