Skip to content
Namnarak edited this page Aug 22, 2026 · 2 revisions

🧱 Custom Blocks

Placeable blocks using vanilla block states.

Basic Block

ruby_block:
  type: block
  model:
    cube_all: "block/ruby_block"
  behaviour:
    hardness: 3.0

Block Modes

Native Mode (Default)

Borrows a real vanilla block state (893 available).

java:
  mode: native
  carrier: NOTE_BLOCK  # NOTE_BLOCK, TRIPWIRE, SCAFFOLDING

Carriers:

Carrier States Best For
NOTE_BLOCK 799 Full solid blocks
TRIPWIRE 63 Non-solid decorative
SCAFFOLDING 31 Tall decorative

Virtual Mode

Uses ItemDisplay entity (unlimited, but no Bedrock).

java:
  mode: virtual

Model Types

Cube All

Same texture on all faces:

model:
  cube_all: "block/ruby_block"

Cube (Per-Face)

Different textures per face:

model:
  cube:
    up: "block/ruby_top"
    down: "block/ruby_bottom"
    north: "block/ruby_side"
    south: "block/ruby_side"
    west: "block/ruby_side"
    east: "block/ruby_side"

Custom Model

Hand-authored model:

model:
  custom: "block/ruby_pillar"
  textures:
    all: "block/ruby_block"

Behaviour

behaviour:
  hardness: 3.0          # Break time (-1 = unbreakable)
  requires_tool: true    # Need correct tool for drop

Bedrock Options

bedrock:
  enabled: true

Full Example

ruby_block:
  type: block
  display:
    name: "<gold>Ruby Block</gold>"
  model:
    cube_all: "block/ruby_block"
  behaviour:
    hardness: 3.0
    requires_tool: true
  java:
    mode: native
    carrier: NOTE_BLOCK
  bedrock:
    enabled: true

See Also


📜 Footer

Kalo — Open Custom Content Engine for Minecraft

GitHubIssuesDiscord (coming soon)

Version: 0.1.0 • License: MIT • Java: 21+ / 25

Build once. Play everywhere.

Clone this wiki locally