Crucible allows people to create "custom blocks" using the extra block states from mushroom blocks, note blocks, tripwires or chorus plants.
Items that are configured to be blocks will have their corresponding block placed in the world where the player is looking when right-clicked, and will drop the original item when broken by default (unless configured otherwise).
Custom Blocks use blockstates to work. This can lead to some glitchy looking behaviour with block updates, if you are using Paper it is recommended to disable updates for these blocks.
Head to /config/paper-global.yml
and disable block updates for the base block type you use in the section at the top. This example disables Noteblock updates.
block-updates:
disable-chorus-plant-updates: false
disable-mushroom-block-updates: false
disable-noteblock-updates: true
disable-tripwire-updates: false
Custom Block Options
All options are placed under a CustomBlock
section on an item.
MUSHROOM_BLOCK and NOTE_BLOCK are considered as "solid" blocks, these blocks need a path to the texture to generate itself, other blocks (TRIPWIRE and CHORUS) are non solid this means you can omit the Texture
field and Crucible will use the model assigned to the item
Base Options
-
Type
- The type of custom block, defaults to mushroom (MUSHROOM_BLOCK, NOTE_BLOCK, TRIPWIRE, CHORUS) -
Id
- The ID of the custom block. -
Texture
- The path of the texture the block will use, or none if block is non solid -
Textures
- Optional: Texture key and path the block will use (Needed if you want to assign different texture per face) -
Parent
- Optional: Parent model that the block should use (Useful when having different textures per face) -
Variants
- Optional: Gives the ability to have variant of the block (having different rotations)
CustomBlock:
Type: MUSHROOM_BLOCK
Id: 18
Texture: block/stars1
Putting in Resource Pack
Please refer to the Resourcepack Generator wiki page for info.
Examples
TestBlock:
Id: STONE
Model: 5
Display: 'Probably a Block'
Type: BLOCK
CustomBlock:
Type: MUSHROOM_BLOCK
Id: 30
Texture: block/exampletexture
CustomBlockSkills:
- sound{s=block.amethyst_block.place} @self ~onBlockPlace
- sound{s=block.amethyst_block.break} @self ~onBlockBreak
This block will have a different texture on top
TestBlock:
Id: STONE
Model: 5
Display: 'Multitexture'
Type: BLOCK
CustomBlock:
Type: NOTE_BLOCK
Id: 30
Parent: "minecraft:block/cube_top"
Textures:
top: block/top_texture
side: block/side_texture
This block will have two random rotation variant
TestBlock:
Id: STONE
Model: 5
Display: 'Variant'
Type: BLOCK
CustomBlock:
Type: NOTE_BLOCK
Id: 30
Texture: block/exampletexture
Variants:
- y: 0
uvlock: true
- x: 90
y: 90
- y: 270
x: 180
weigth: 3
This tripwire block will use the model generated from the item's Generation
field
TestTripwire:
Id: PAPER
Model: 5
Display: 'Tripwire plant'
Generation:
Model: block/tripwire_plant
Type: BLOCK
CustomBlock:
Type: TRIPWIRE
Id: 0
WorldEdit Support
You can place custom blocks using worldedit via the following syntax:
//set mythic:ItemName
If you have a custom namespace replace mythic
by your namespace:
//set mynamespace:ItemName