KubeJS Curios
模组属性评比

距离显示结果还剩5票~

路过的这位少侠,你觉得这款Mod怎么样,可否愿意来评一评它呢?登录并评比
更新日志
  • 暂无日志..

历史编辑记录更多
    管理组

      暂无管理组..

    编辑组

      暂无编辑组..

    开发组申请
    活跃
    开源

    KubeJS Curios

    0.0

    无人问津

    昨日指数: 27
    昨日平均指数: 70.576

    2213

    总浏览

    --

    资料填充率


    如何下载?
    • KubeJSCurios 集成扩展。

      通过添加这个 Mod,你可以:

      1. 从 LivingEntity 对象里获取 CuriosHelper。

      2. 添加自定义的 Curios 饰品;

      3. 为物品添加 Curio 饰品效果支持;

      4. 注册/移除 Curios 饰品渲染效果。

      KubeJS Curios-第1张图片KubeJS Curios-第2张图片

      注册 Curios 饰品 / 修改已有的物品(startup):

      StartupEvents.registry('item', event => {
          event.create('test')
              .attachCuriosCapability(
                  CuriosJSCapabilityBuilder.create()
                      .curioTick((slotContext, stack) => { })
                      .onEquip((slotContext, oldStack, newStack) => { })
                      .onUnequip((slotContext, oldStack, newStack) => { })
                      .canEquip((slotContext, stack) => true)
                      .canUnequip((slotContext, stack) => true)
                      .modifySlotsTooltip((tooltips, stack) => tooltips)
                      .addAttribute(
                          "minecraft:generic.max_health",
                          UUID,
                          20,
                          'addition'
                      )
                      .modifyAttribute(attributeModificationContext => {
                          let { slotContext, UUID, stack, modifiers } = attributeModificationContext
                          attributeModificationContext.modify(
                              "minecraft:generic.armor",
                              "identifier",
                              20,
                              'addition'
                          )
                      })
                      .canDrop((slotContext, source, lootingLevel, recentlyHit, stack) => true)
                      .modifyAttributesTooltip((tooltips, stack) => tooltips)
                      .modifyFortuneLevel((slotContext, lootContext, stack) => 0)
                      .modifyLootingLevel((slotContext, source, target, baseLooting, stack) => 0)
                      .makesPiglinsNeutral((slotContext, stack) => false)
                      .canWalkOnPowderedSnow((slotContext, stack) => false)
                      .isEnderMask((slotContext, enderMan, stack) => false)
              )
              .maxStackSize(1)
              .tag("curios:head")
      })

      ItemEvents.modification(event => {
          event.modify('apple', item => {
              item.attachCuriosCapability(
                  CuriosJSCapabilityBuilder.create()
                      .curioTick((slotContext, stack) => { })
                      .onEquip((slotContext, oldStack, newStack) => { })
                      .onUnequip((slotContext, oldStack, newStack) => { })
                      .canEquip((slotContext, stack) => true)
                      .canUnequip((slotContext, stack) => true)
                      .modifySlotsTooltip((tooltips, stack) => tooltips)
                      .addAttribute(
                          "minecraft:generic.max_health",
                          "identifier",
                          20,
                          'addition'
                      )
                      .modifyAttribute(attributeModificationContext => {
                          let { slotContext, UUID, stack, modifiers } = attributeModificationContext
                          attributeModificationContext.modify(
                              "minecraft:generic.armor",
                              UUID,
                              20,
                              'addition'
                          )
                      })
                      .canDrop((slotContext, source, lootingLevel, recentlyHit, stack) => true)
                      .modifyAttributesTooltip((tooltips, stack) => tooltips)
                      .modifyFortuneLevel((slotContext, lootContext, stack) => 0)
                      .modifyLootingLevel((slotContext, source, target, baseLooting, stack) => 0)
                      .makesPiglinsNeutral((slotContext, stack) => false)
                      .canWalkOnPowderedSnow((slotContext, stack) => false)
                      .isEnderMask((slotContext, enderMan, stack) => false)
              )
          })
      })

      客户端饰品渲染:

      CuriosJSEvents.registerRenderer(event => {
          // remove curios render
          event.remove('test')

          // register curios render
          event.register(
              'apple',
              context => {
                  let {
                      stack,
                      slotContext,
                      matrixStack,
                      renderLayerParent,
                      renderTypeBuffer,
                      light,
                      limbSwing,
                      limbSwingAmount,
                      partialTicks,
                      ageInTicks,
                      netHeadYaw,
                      headPitch
                  } = context
                  let { modelManager } = Client
                  let entity = slotContext.entity()
                  let model = modelManager.getModel(new ModelResourceLocation(stack.id, 'inventory'))
                  matrixStack.pushPose()
                  CuriosRenderer.translateIfSneaking(matrixStack, entity)
                  matrixStack.mulPose(new Quaternionf().rotateZ(JavaMath.toRadians(180)))
                  matrixStack.mulPose(RotationAxis.YP.deg(-netHeadYaw))
                  matrixStack.mulPose(RotationAxis.XP.deg(-headPitch))
                  Client.itemRenderer.render(
                      stack,
                      'head',
                      false,
                      matrixStack,
                      renderTypeBuffer,
                      light,
                      OverlayTexture.NO_OVERLAY,
                      model
                  )
                  matrixStack.popPose()
              }
          )
      })

    短评加载中..