# Items

## Global Settings

These settings apply to ALL item types. Keep in mind that if fields are not required, you do NOT need to write them into your json.

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
type | ResourceLocation | Item Type, each come with new different settings. Listed below on this page. | false | palladium:default
max_stack_size | Integer | Max stack size for an itemstack. Range: 1-64 | false | 64
max_damage | Integer | Max damage for an item. Must be greater then or equal 0. | false | 0
creative_mode_tab | ResourceLocation | ID of the creative mode tab the item is supposed to appear in. Fore more precise placements, check the "Custom Items" page on the wiki. Possible values: [alienevo:alien_evolution, alienevo:cosmetic_items, artifacts:main, cfm:creative_tab, farmersdelight:farmersdelight, handcrafted:main, kubejs:tab, mcwfurnitures:furnitures, mcwwindows:mcwwindows, minecraft:building_blocks, minecraft:colored_blocks, minecraft:combat, minecraft:food_and_drinks, minecraft:functional_blocks, minecraft:hotbar, minecraft:ingredients, minecraft:inventory, minecraft:natural_blocks, minecraft:op_blocks, minecraft:redstone_blocks, minecraft:search, minecraft:spawn_eggs, minecraft:tools_and_utilities, palladium:palladium_mods, palladium:technology, portablemobs:portablemobs, redeco:redeco_tab, refurbished_furniture:creative_tab, torchmaster:creative_tab, waterframes:tab, waystones:waystones] | false | /
rarity | String | Rarity of the item, influences the item name's color. Possible values: [common, uncommon, rare, epic] | false | /
is_fire_resistant | Boolean | Whether or not the item will survive being thrown into fire/lava. | false | false
should_render_model | Boolean | If false, the item model will be ignored (except in the inventory). In first person, the player's arm will render instead. This allows a render layer to be applied in place of a less-dynamic item model. | false | true
tooltip | Component[] | Tooltip lines. Can be array of primitive strings or more complex text component | false | /
attribute_modifiers | AttributeModifier[] | Attribute modifiers when having the item equipped. You first specify the slot ("all" for every slot, other options: [mainhand, offhand, feet, legs, chest, head]), then an array for different modifiers. Possible attributes: forge:block_reach, forge:entity_gravity, forge:entity_reach, forge:nametag_distance, forge:step_height_addition, forge:swim_speed, minecraft:generic.armor, minecraft:generic.armor_toughness, minecraft:generic.attack_damage, minecraft:generic.attack_knockback, minecraft:generic.attack_speed, minecraft:generic.flying_speed, minecraft:generic.follow_range, minecraft:generic.knockback_resistance, minecraft:generic.luck, minecraft:generic.max_health, minecraft:generic.movement_speed, minecraft:horse.jump_strength, minecraft:zombie.spawn_reinforcements, palladium:destroy_speed, palladium:fall_resistance, palladium:flight_flexibility, palladium:flight_speed, palladium:heroic_flight_type, palladium:jump_power, palladium:leaping, palladium:levitation_speed, palladium:punch_damage | false | /
food | FoodProperties | Settings to make this item edible. The only required field in this json part is the mob_effect IF you add any effect | false | /

### Example:

    {"max_stack_size":64,"creative_mode_tab":"minecraft:decorations","rarity":"epic","is_fire_resistant":false,"should_render_model":true,"tooltip":["Line 1",{"translate":"example.line2.translation_key","color":"#BCD42A","underlined":true}],"attribute_modifiers":{"all":[{"attribute":"minecraft:generic.max_health","amount":2,"operation":0,"uuid":"f98db25e-91cb-45ca-ba40-5526ff2cd180"}],"chest":[{"attribute":"minecraft:generic.movement_speed","amount":4,"operation":1,"uuid":"3a4df804-2be2-4002-a829-eaf29a629cac"}]},"food":{"nutrition":5,"saturation_modifier":0.6,"meat":false,"can_always_eat":false,"fast":false,"effects":[{"mob_effect":"minecraft:strength","duration":40,"amplifier":1,"ambient":false,"visible":true,"show_icon":true,"probability":1.0}]}}

## Overview

### GeckoLib 4

- GeckoLib Armor

### Palladium

- Default Item
- Block Item
- Armor
- Sword
- Pickaxe
- Axe
- Shovel
- Hoe
- Shield
- Bow
- Crossbow
- Flux Capacitor (Energy Containing Item)
- Projectile Item

## GeckoLib Armor

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
slot | Type | The slot the item will fit in. Possible values: [helmet, chestplate, leggings, boots] | true | /
armor_material | ArmorMaterial | Armor material, which defines certain characteristics about the armor. Open armor_materials.html for seeing how to make custom ones. Possible values: [minecraft:diamond, minecraft:gold, minecraft:leather, minecraft:turtle, minecraft:chainmail, minecraft:iron, minecraft:netherite] | true | /
armor_model | ResourceLocation | Path to geckolib model file. Required bones: [armorHead, armorBody, armorRightArm, armorLeftArm, armorRightLeg, armorLeftLeg, armorRightBoot, armorLeftBoot]. | false | /
armor_texture | TextureReference | Location of the armor texture. Can also use a dynamic texture using #. | false | /
armor_animations | ResourceLocation | ID of the animations that will be used. | false | /
armor_animation_controller | List | Names of controllers for the animation. | false | /
hide_second_player_layer | Boolean | If enabled, the second player layer will be hidden when worn (only on the corresponding body part) | false | false

### Example:

    {"type":"geckolib:armor","slot":"chest","armor_material":"minecraft:diamond","armor_model":"palladium:test_model.geo.json","armor_texture":"example:textures/models/armor/example_armor.png","armor_animations":"palladium:animations/test_animation.animation.json","armor_animation_controller":[{"name":"controller_name","animation":"animation_name","transition_tick_time":10,"triggers":{"trigger_name":"animation_name"}}],"hide_second_player_layer":true}

## Default Item

Default Item Type, you don't need to specify that you want this one, leaving 'type' out of the json will make it fall back to this one.

### Example:

    {"type":"palladium:default"}

## Block Item

Item for a block, duh

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
block | ResourceLocation | ID of the block that this item is for | true | /

### Example:

    {"type":"palladium:block_item","block":"test:test_block"}

## Armor

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
slot | Type | The slot the item will fit in. Possible values: [helmet, chestplate, leggings, boots] | true | /
armor_material | ArmorMaterial | Armor material, which defines certain characteristics about the armor. Open armor_materials.html for seeing how to make custom ones. Possible values: [minecraft:diamond, minecraft:gold, minecraft:leather, minecraft:turtle, minecraft:chainmail, minecraft:iron, minecraft:netherite] | true | /
armor_renderer | ResourceLocation | Location of the armor renderer file. Doesn't need to be specified, it will automatically look for one in a path corresponding to the item's ID: A 'test:item' will look for the armor renderer file at 'assets/test/palladium/armor_renderers/item.json'. | false | /
openable | Boolean | Marks the armor piece as openable. | false | false
opening_time | Integer | Determines the time the item needs for it to be fully opened. Leave at 0 for instant. Needs 'openable' to be enabled to take effect. | false | 0
opened_sound | ResourceLocation | Sound that is played when the suit has been fully opened. | false | /
closed_sound | ResourceLocation | Sound that is played when the suit has been fully closed. | false | /
opening_toggle_sound | ResourceLocation | Sound that is played when opening button has been pressed. | false | /

### Example:

    {"type":"palladium:armor","slot":"chest","armor_material":"minecraft:diamond","armor_renderer":"test:item_renderer","openable":false,"opening_time":10,"opened_sound":"minecraft:item.armor.equip_leather","closed_sound":"minecraft:item.armor.equip_leather","opening_toggle_sound":"minecraft:item.armor.equip_leather"}

## Sword

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
tier | Tier | Tool tier, which defines certain characteristics about the tool. Open tool_tiers.html for seeing how to make custom ones. Possible values: [minecraft:diamond, minecraft:gold, minecraft:stone, alienevo:galvan, minecraft:wood, minecraft:iron, minecraft:netherite] | true | /
base_damage | Integer | Base value for the damage. For reference: swords usually have 3 | true | /
attack_speed | Float | Base value for the attack speed. For reference: swords usually have -2.4 | true | /

### Example:

    {"type":"palladium:sword","tier":"minecraft:diamond","base_damage":3,"attack_speed":-2.4}

## Pickaxe

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
tier | Tier | Tool tier, which defines certain characteristics about the tool. Open tool_tiers.html for seeing how to make custom ones. Possible values: [minecraft:diamond, minecraft:gold, minecraft:stone, alienevo:galvan, minecraft:wood, minecraft:iron, minecraft:netherite] | true | /
base_damage | Integer | Base value for the damage. For reference: pickaxes usually have 1 | true | /
attack_speed | Float | Base value for the attack speed. For reference: pickaxes usually have -2.8 | true | /

### Example:

    {"type":"palladium:pickaxe","tier":"minecraft:diamond","base_damage":1,"attack_speed":-2.8}

## Axe

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
tier | Tier | Tool tier, which defines certain characteristics about the tool. Open tool_tiers.html for seeing how to make custom ones. Possible values: [minecraft:diamond, minecraft:gold, minecraft:stone, alienevo:galvan, minecraft:wood, minecraft:iron, minecraft:netherite] | true | /
base_damage | Integer | Base value for the damage. For reference: axes usually have roughly 6 | true | /
attack_speed | Float | Base value for the attack speed. For reference: axes usually have roughly -3.0 | true | /

### Example:

    {"type":"palladium:axe","tier":"minecraft:diamond","base_damage":6,"attack_speed":-3.0}

## Shovel

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
tier | Tier | Tool tier, which defines certain characteristics about the tool. Open tool_tiers.html for seeing how to make custom ones. Possible values: [minecraft:diamond, minecraft:gold, minecraft:stone, alienevo:galvan, minecraft:wood, minecraft:iron, minecraft:netherite] | true | /
base_damage | Integer | Base value for the damage. For reference: shovels usually have 1.5 | true | /
attack_speed | Float | Base value for the attack speed. For reference: shovels usually have -3.0 | true | /

### Example:

    {"type":"palladium:shovel","tier":"minecraft:diamond","base_damage":1.5,"attack_speed":-3.0}

## Hoe

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
tier | Tier | Tool tier, which defines certain characteristics about the tool. Open tool_tiers.html for seeing how to make custom ones. Possible values: [minecraft:diamond, minecraft:gold, minecraft:stone, alienevo:galvan, minecraft:wood, minecraft:iron, minecraft:netherite] | true | /
base_damage | Integer | Base value for the damage. For reference: iron has -2, diamond has -3 | true | /
attack_speed | Float | Base value for the attack speed. For reference: iron has -1.0, diamond has 0.0 | true | /

### Example:

    {"type":"palladium:hoe","tier":"minecraft:diamond","base_damage":-2,"attack_speed":-1.0}

## Shield

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
use_duration | Integer | Amount of ticks the shield can be actively held for | false | 72000
repair_ingredient | Ingredient | The ingredient needed to repair the shield in an anvil. Can be null for making it non-repairable | false | /

### Example:

    {"type":"palladium:shield","use_duration":72000,"repair_ingredient":{"tag":"minecraft:wool"}}

## Bow

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
velocity | Float | Velocity multiplier for the shot projectile | false | 3.0
inaccuracy | Float | Inaccuracy for the shot projectile | false | 1.0
use_duration | Integer | Amount of ticks the bow can be used for | false | 72000
projectiles | ResourceLocation | Item tag which contains all items that can be shot. By default all Minecraft arrows | false | minecraft:arrows
held_projectiles | ResourceLocation | Item tag which contains all items that can be shot by being in the off hand. Can be left out to fallback to the 'projectiles' option | false | /

### Example:

    {"type":"palladium:bow","velocity":3.0,"inaccuracy":1.0,"use_duration":72000,"projectiles":"minecraft:arrows","held_projectiles":"minecraft:arrows"}

## Crossbow

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
velocity_multiplier | Float | Velocity multiplier for the shot projectile, works differently to the bow one. | false | 1.0
inaccuracy | Float | Inaccuracy for the shot projectile | false | 1.0
use_duration | Integer | Amount of ticks the bow can be used for | false | 72000
projectiles | ResourceLocation | Item tag which contains all items that can be shot. By default all Minecraft arrows | false | minecraft:arrows
held_projectiles | ResourceLocation | Item tag which contains all items that can be shot by being in the off hand. Can be left out to fallback to the 'projectiles' option | false | /

### Example:

    {"type":"palladium:crossbow","velocity_multiplier":1.0,"inaccuracy":1.0,"use_duration":72000,"projectiles":"minecraft:arrows","held_projectiles":"minecraft:arrows"}

## Flux Capacitor (Energy Containing Item)

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
capacity | Integer | Max amount of energy the item can hold | true | /
max_input | Integer | Maximum amount of energy the item can be inserted with during one insertion. Using 0 makes the item not accept any energy | true | /
max_output | Integer | Maximum amount of energy the item can extract with during one withdrawal. Using 0 makes the item not extract any energy | true | /

### Example:

    {"type":"palladium:flux_capacitor","capacity":500000,"max_input":1000,"max_output":1000}

## Projectile Item

If added to the item tag for a bow or a crossbow, this item type can used as ammunitation to shoot pre-defined projectiles.

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
entity_type | ResourceLocation | ID of the entity type that should be shot. Only projectile entity works, like arrows, snowballs, or Palladium's custom projectile | false | palladium:custom_projectile
entity_data | CompoundTag | Custom NBT data for the shot entity | false | /

### Example:

    {"type":"palladium:projectile","entity_type":"palladium:custom_projectile","entity_data":{}}