Draft - Modern items creation

Generating items automatically

material property is not mandatory anymore. paper will be used by default.

From texture

Automatically generate the modern item + model from a texture.

  modern_texture:
    name: Modern Texture
    graphics:
      texture: item/modern_texture

From model

Automatically generate the modern item and use a specific model file.

  modern_model:
    name: Modern Model
    graphics:
      model: item/modern_model

Block from textures

In this case ItemsAdder automatically detects you want to create a block (because it has the block behaviour) so the parent will automatically be block/cube.

If you do not specify the block behaviour, it would use the paper parent which is minecraft:item/generated.

  modern_textures_block:
    name: Modern Model Block Textures
    graphics:
      textures:
        north: block/modern_textures_block_north
        south: block/modern_textures_block_south
        east: block/modern_textures_block_east
        west: block/modern_textures_block_west
        up: block/modern_textures_block_up
        down: block/modern_textures_block_down
    behaviours:
      block:
        placed_model:
          type: REAL_NOTE

Block from single texture

Automatically generate the modern item and use a specific model file (in this case it generates a multi face block).

  modern_textures_block_2:
    name: Modern Model Block Textures 2
    graphics:
      texture: block/modern_textures_block_all
    behaviours:
      block:
        placed_model:
          type: REAL_NOTE

Block from specific parent (cross for example)

Automatically generate the modern item + model from textures (in this case it generates a multi face block).

In this case I set a custom parent for the model to be generated. I can specify the textures to be linked to the cross template in this case.

  modern_textures_block_cross:
    name: Modern Model Block Textures Cross
    graphics:
      icon: block/modern_textures_block_all
      parent: block/cross
      textures:
        cross: block/modern_textures_block_all
    behaviours:
      block:
        placed_model:
          type: REAL_WIRE

You can even just set texture instead, since the vanilla block/cross model has only one layer (cross), so ItemsAdder will automatically assign the texture to it.

  modern_textures_block_cross:
    name: Modern Model Block Textures Cross
    graphics:
      icon: block/modern_textures_block_all
      parent: block/cross
      texture: block/modern_textures_block_all
    behaviours:
      block:
        placed_model:
          type: REAL_WIRE

Bow from textures

  modern_bow:
    name: Modern Bow
    material: bow
    graphics:
      textures:
        normal: item/modern_bow
        pulling_0: item/modern_bow_0
        pulling_1: item/modern_bow_1
        pulling_2: item/modern_bow_2

Bow from models

  modern_bow_models:
    name: Modern Bow Models
    material: bow
    graphics:
      models:
        normal: item/modern_bow
        pulling_0: item/modern_bow_0
        pulling_1: item/modern_bow_1
        pulling_2: item/modern_bow_2

Fishing rod from textures

  modern_fishing_rod:
    name: Modern Fishing Rod
    material: fishing_rod
    graphics:
      textures:
        normal: item/modern_bow
        cast: item/modern_bow_2

Fishing rod from models

  modern_fishing_rod_models:
    name: Modern Fishing Rod Models
    material: fishing_rod
    graphics:
      models:
        normal: item/modern_bow
        cast: item/modern_bow_2

Crossbow from textures

You can create as many pulling_ states as you want.

  modern_crossbow:
    name: Modern Crossbow
    material: crossbow
    graphics:
      textures:
        normal: item/modern_bow
        pulling_0: item/modern_bow_0
        pulling_1: item/modern_bow_1
        pulling_2: item/modern_bow_2
        rocket: minecraft:item/diamond
        arrow: minecraft:item/emerald

Crossbow from models

You can create as many pulling_ states as you want.

  modern_crossbow_model:
    name: Modern Crossbow Model
    material: crossbow
    graphics:
      models:
        normal: item/modern_bow
        pulling_0: item/modern_bow_0
        pulling_1: item/modern_bow_1
        pulling_2: item/modern_bow_2
        rocket: minecraft:item/diamond
        arrow: minecraft:item/emerald

Trident from model

  modern_trident_model:
    name: Modern Trident Model
    material: trident
    graphics:
      icon: minecraft:item/diamond
      models:
        normal: item/modern_bow
        throwing: item/modern_bow_2

Shield from model

  modern_shield_model:
    name: Modern Crossbow Model
    material: shield
    graphics:
      models:
        normal: item/modern_bow
        blocking: item/modern_bow_2

Other optional properties

Material

  modern_texture:
    name: Modern Texture
    material: paper
    graphics:
      texture: item/modern_texture

Icon

Show a different texture on the inventory slots compared to the in-game appearance.

  modern_texture:
    name: Modern Texture
    graphics:
      texture: item/modern_texture
      icon: item/modern_texture_icon

Disable hand animation on item swap

  modern_texture:
    name: Modern Texture
    graphics:
      texture: item/modern_texture
      hand_animation_on_swap: false

Experts configuration

item_model

Manually handling the item model on your own using the new 1.21.4 format.

  modern_item:
    name: Modern Texture
    material: paper
    item_model: test:modern_item

Templates and variants

You can make variants of an item pretty easily. Variants inherit everything from a template item (that won't be available ingame).

info:
  namespace: test_template_furniture
items:
  chair_template:
    template: true # Here
    name: ""
    graphics:
      model: furniture/chair
    behaviours:
      furniture:
        entity: item_display
        solid: true
        fixed_rotation: true
        hitbox:
          length: 1
          width: 1
          height: 1
        placeable_on:
          walls: false
          ceiling: false
          floor: true
      furniture_sit:
        sit_height: 0.75
  black_acacia_chair:
    variant_of: chair_template
    name: "Black Acacia Chair"
    graphics:
      parent: furniture/chair
      textures:
        wood: minecraft:block/acacia_planks
        wool: minecraft:block/black_wool
  red_chair:
    variant_of: chair_template # Here
    name: "Black Acacia Chair"
    graphics:
      parent: furniture/chair
      textures:
        wood: minecraft:block/red_wool
        wool: minecraft:block/red_wool
contents/example/models/furniture/chair.json
{
  "textures": {
    "wool": "block/white_wool",
    "particle": "block/oak_planks",
    "wood": "block/oak_planks"
  },
  "elements": [
  //.....

Last updated

Was this helpful?