Modscraper Modscraper Minecraft
KubeJS Curios logo

KubeJS Curios

Mod

by zhaiji

Curios integration for Kubejs

Type

Mod

CurseForge Downloads

3,141,135

CurseForge ID

1255211

Last Updated

Sep 8, 2026

Description

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() } ) })

Recommended Gear

Affiliate

Hardware and extras that pair well with this mod.

As an Amazon Associate I earn from qualifying purchases.

Screenshots

Similar Mods

Included in Modpacks (98)

Most downloaded
Show all 98 modpacks

External Resources