KubeJS Curios

Curios integration for Kubejs

资源介绍

Curios integration for KubeJS Use this mod, you can:   1.Get CuriosHelper from LivingEntity   2.Create Custom Curios   3.Add Curios capabilities to items   4.Register or remove Curios render   5.Add CuriosJS Events LivingEntity Curios Helper Registry Curios & Item Modify (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) ) }) }) Render (Client) 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() } ) })

在鱼乐云资源中心浏览该资源,登录后可一键安装到你的游戏服务器。

返回资源中心