Custom Items
This is a startup_scripts/ event
// Listen to item registry event
onEvent('item.registry', event => {
// The texture for this item has to be placed in kubejs/assets/kubejs/textures/item/test_item.png
// If you want a custom item model, you can create one in Blockbench and put it in kubejs/assets/kubejs/models/item/test_item.json
event.create('test_item', item => {
item.displayName('Test Item')
})
// or,You incan KubeJSchain 3builder formethods MCas 1.16:much as you like
event.create('test_item'test_item_2').displayName(maxStackSize(16).glow(true)
// You can specify item type as 2nd argument in create(), some types have different available methods
event.create('Testcustom_sword', Item''sword').tier('diamond').attackDamageBaseline(10.0)
})
Other methods item builder supports: [you can chain these methods after displayName()]
type('itemType')tier('itemTier')maxStackSize(size)unstackable()maxDamage(damage)burnTime(ticks)containerItem(item_id)tool(type, level)miningSpeed(speed)attackDamage(damage)attackSpeed(speed)rarity('rarity')glow(true/false)tooltip(text...)group('group_id')color(index, colorHex)texture(customTexturePath)parentModel(customParentModel)food(foodBuilder => ...)
Valid item types:
- basic (default)
- sword
- pickaxe
- axe
- shovel
- hoe
- helmet
- chestplate
- leggings
- boots
ValidOther methods item tiers:builder supports: [you can chain these methods after create()]
SwordsmaxStackSize(size)- unstackable()
- maxDamage(damage)
- burnTime(ticks)
- containerItem(item_id)
- rarity('rarity')
- tool(type, level)
- glow(true/false)
- tooltip(text...)
- group('group_id')
- color(index, colorHex)
- texture(customTexturePath)
- parentModel(customParentModel)
- food(foodBuilder => ...)
Methods available if you use 'sword', 'pickaxe', 'axe', 'shovel' or 'hoe' type:
- tier('toolTier')
- modifyTier(tier => ...) // Same syntax as custom tool tier, see below
- attackDamageBaseline(damage) // You only want to modify this if you are creating a custom weapon such as Spear, Battleaxe, etc.
- attackDamageBonus(damage)
- speedBaseline(speed) // Same as attackDamageBaseline, only modify for custom weapon types
- speed(speed)
Valid tool tiers:
- wood
- stone
- iron
- gold
- diamond
- netherite
Methods available if you use 'helmet', 'chestplate', 'leggings' or 'boots' type:
- tier('armorTier')
ArmormodifyTier(tier => ...) // Same syntax as custom armor tier, see below
Valid armor tiers:
- leather
- chainmail
- iron
- gold
- diamond
- turtle
- netherite
Valid group/creative tab IDs:
- search
- buildingBlocks
- decorations
- redstone
- transportation
- misc
- food
- tools
- combat
- brewing
Creating custom tool and armor tiers
All values are optional and by default are based on iron tier
onEvent('item.registry.tool_tiers', event => {
event.add('tier_id', tier => {
tier.uses = 250
tier.speed = 6.0
tier.attackDamageBonus = 2.0
tier.level = 2
tier.enchantmentValue = 14
tier.repairIngredient = '#forge:ingots/iron'
})
})
onEvent('item.registry.armor_tiers', event => {
// Slot indicies are [FEET, LEGS, BODY, HEAD]
event.add('tier_id', tier => {
tier.durabilityMultiplier = 15 // Each slot will be multiplied with [13, 15, 16, 11]
tier.slotProtections = [2, 5, 6, 2]
tier.enchantmentValue = 9
tier.equipSound = 'minecraft:item.armor.equip_iron'
tier.repairIngredient = '#forge:ingots/iron'
tier.toughness = 0.0 // diamond has 2.0, netherite 3.0
tier.knockbackResistance = 0.0
})
})