> For the complete documentation index, see [llms.txt](https://plugins.elitefantasy.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://plugins.elitefantasy.net/mechanics/unearthmechanic/unique-behaviors-of-craftengine.md).

# Unique behaviors of CraftEngine

## Item Behaviors

### Shift Place Block Item Behavior

Allows you to place a block while sneaking

```yaml
items:
  minecraft:oak_slab:
    behaviors:
      - type: painter:shift_place_block
        block: elitefantasy:oak_vertical_slab
```

### Termite Bucket Item Behavior

Store mythicmobs "Termite" mob

```yaml
items:
  elitefantasy:termite_bucket:
    material: BUCKET
    texture: elitefantasy:item/termite_bucket
    data:
      item-name: "<!i><white><l10n:item.termite_bucket>"
      lore:
        - '<gray>Right click a block to release one termite.'
    behaviors:
      - type: painter:termite_bucket
        empty-bucket-material: BUCKET
```

### Block Speed Item Behavior

```yaml
items:
  elitefantasy:ostrich_boots:
    material: leather_boots
    texture: elitefantasy:item/ostrich_boots
    data:
      unbreakable: false
      max_damage: 195
      dyed_color: 255,255,255
    settings:
      equipment:
        asset_id: elitefantasy:ostrich_boots
        slot: feet
    behaviors:
      - type: painter:block_speed
        speed-amplifier: 0
        duration-ticks: 40
        blocks:
          - SAND
          - RED_SAND
          - SUSPICIOUS_SAND
```

### Crop Accelerator Item Behavior

```yaml
items:
  elitefantasy:sawdust:
    material: SUGAR
    data:
      item-name: "<!i><white><l10n:item.sawdust>"
      lore:
        - '<gray>Sprinkle onto crops before harvesting.'
    behaviors:
      - type: painter:crop_accelerator
        multiplier: 2
        consume-item: true
        mark-duration-ticks: 1200
        valid-crops:
          - WHEAT
          - CARROTS
          - POTATOES
          - BEETROOTS
          - NETHER_WART
```

### Frozen Totem of Undying Item Behavior

```yaml
items:
  elitefantasy:frozen_totem_of_undying:
    data:
      item_name: "<!i><white>Frozen Totem of Undying"
    material: totem_of_undying
    texture: elitefantasy:item/frozen_totem_of_undying
    behaviors:
      - type: painter:frozen_totem_of_undying
        item-model: elitefantasy:frozen_totem_of_undying
        radius: 6.0
        freeze-ticks: 140
        slowness-duration: 120
        slowness-amplifier: 2
```

## Block Behaviors

### Column Block Behavior

| Property Name | Property Type | Required |
| ------------- | ------------- | -------- |
| up            | string        | yes      |
| middle        | string        | yes      |
| down          | string        | yes      |
| single        | string        | yes      |

```yaml
  painter:white_column:
    behavior:
      - type: painter:column_block
    states:
      properties:
        position:
          type: painter:column_block
          default: down
      appearances:
        position=up:
          auto-state: cactus
          model:
            path: "painter:block/white_column_up"
        position=middle:
          auto-state: cactus
          model:
            path: "painter:block/white_column_middle"
        position=down:
          auto-state: cactus
          model:
            path: "painter:block/white_column_down"
        position=single:
          auto-state: cactus
          model:
            path: "painter:block/white_column_down"
      variants:
        position=up:
          appearance: "position=up"
        position=middle:
          appearance: "position=middle"
        position=down:
          appearance: "position=down"
        position=single:
          appearance: "position=single"
```

### Window Connect Tile Block Behavior

| Property Name | Property Type | Required |
| ------------- | ------------- | -------- |
| single        | string        | yes      |
| left          | string        | yes      |
| middle        | string        | yes      |
| right         | string        | yes      |
| up\_left      | string        | yes      |
| up            | string        | yes      |
| up\_right     | string        | yes      |
| down\_left    | string        | yes      |
| down          | string        | yes      |
| down\_right   | string        | yes      |

```yaml
templates:
  painter:block/oak_window_directional:
    behavior:
      - type: painter:window_connect_tile
    states:
      properties:
        tile:
          type: painter:window_connect_tile
          default: single
        facing:
          type: 4-direction
          default: north
      appearances:
############
## SINGLE ##
############
      # EAST #      
        facing=east,tile=single:
          state: iron_door[facing=east,half=lower,hinge=left,open=false,powered=true]
          transparent: true
          entity-renderer:
            item: ${item}
            yaw: -90
            translation: 0,0,-0.81
      # NORTH #
        facing=north,tile=single:
          state: iron_door[facing=north,half=lower,hinge=left,open=false,powered=true]
          transparent: true
          entity-renderer:
            item: ${item}
            yaw: 180
            translation: 0,0,-0.81
      # SOUTH #
        facing=south,tile=single:
          state: iron_door[facing=south,half=lower,hinge=left,open=false,powered=true]
          transparent: true
          entity-renderer:
            item: ${item}
            #yaw: 0
            translation: 0,0,-0.81
      # WEST #
        facing=west,tile=single:
          state: iron_door[facing=west,half=lower,hinge=left,open=false,powered=true]
          transparent: true
          entity-renderer:
            item: ${item}
            yaw: 90
            translation: 0,0,-0.81
######################
## OTHER_PROPERTIES ##
######################
            
       variants:
        facing=east,tile=single:
          appearance: facing=east,tile=single
        facing=north,tile=single:
          appearance: facing=north,tile=single
        facing=south,tile=single:
          appearance: facing=south,tile=single
        facing=west,tile=single:
          appearance: facing=west,tile=single
```

### Sofa Connect Tile Block Behavior

| Property Name | Property Type | Required |
| ------------- | ------------- | -------- |
| single        | string        | yes      |
| left          | string        | yes      |
| middle        | string        | yes      |
| right         | string        | yes      |

```yaml
templates:
  painter:block/oak_window_directional:
    behavior:
      - type: painter:sofa_connect_tile
    states:
      properties:
        tile:
          type: painter:sofa_connect_tile
          default: single
        facing:
          type: 4-direction
          default: north
      appearances:
############
## SINGLE ##
############
      # EAST #      
        facing=east,tile=single:
          state: iron_door[facing=east,half=lower,hinge=left,open=false,powered=true]
          transparent: true
          entity-renderer:
            item: ${item}
            yaw: -90
            translation: 0,0,-0.81
      # NORTH #
        facing=north,tile=single:
          state: iron_door[facing=north,half=lower,hinge=left,open=false,powered=true]
          transparent: true
          entity-renderer:
            item: ${item}
            yaw: 180
            translation: 0,0,-0.81
      # SOUTH #
        facing=south,tile=single:
          state: iron_door[facing=south,half=lower,hinge=left,open=false,powered=true]
          transparent: true
          entity-renderer:
            item: ${item}
            #yaw: 0
            translation: 0,0,-0.81
      # WEST #
        facing=west,tile=single:
          state: iron_door[facing=west,half=lower,hinge=left,open=false,powered=true]
          transparent: true
          entity-renderer:
            item: ${item}
            yaw: 90
            translation: 0,0,-0.81
######################
## OTHER_PROPERTIES ##
######################
            
      variants:
        facing=east,tile=single:
          appearance: facing=east,tile=single
        facing=north,tile=single:
          appearance: facing=north,tile=single
        facing=south,tile=single:
          appearance: facing=south,tile=single
        facing=west,tile=single:
          appearance: facing=west,tile=single
```

### FishTank Block Behavior

This behavior has no other unique properties; the supported fishes are `COD`, `SALMON`, `TROPICAL_FISH`, `PUFFERFISH`, `AXOLOTL` & `TADPOLE`

```yaml
templates:
  painter:block/oak_window_directional:
    behavior:
      - type: painter:fish_tank
    states:
      properties:
        fish:
          type: painter:fish_type
```

### AshesMerge Behavior

This needs a custom stuff to work fine

```yaml
  elitefantasy:block/elitefantasy_block_ashes_block:
    behaviors:
      - type: painter:ashes_merge
      - type: stackable_block
        property: layers
        items:
          - elitefantasy:ashes_block
    states:
      properties:
        layers:
          type: int
          default: 1
          range: 1~8
      appearances:
        layers=8:
          ## ..etc
        layers=7:
          ## ..etc
        layers=6:
          ## ..etc
        layers=5:
          ## ..etc
        ## ..etc
      variants:
        layers=1:
          appearance: layers=1
        layers=2:
          appearance: layers=2
        layers=3:
          appearance: layers=3
        ## ..etc
```

### Curtain Block Behavior

| Property Name | Property Type | Required |
| ------------- | ------------- | -------- |
| single        | string        | yes      |
| bottom        | string        | yes      |
| middle        | string        | yes      |
| top           | string        | yes      |

```yaml
items:
  elitefantasy:curtain_blue:
    behavior:
      type: block_item
      block:
        behaviors:
          - type: painter:curtain_block
        states:
          template: elitefantasy:block_state/curtain
          arguments:
            color: blue
templates:
  elitefantasy:block_state/curtain:
    properties:
      facing:
        type: 4-direction
        default: north
      open:
        type: boolean
        default: false
      powered:
        type: boolean
        default: false
      ypos:
        type: painter:curtain_ypos
        default: single
    appearances:
      # false,false,none
      facing=east,open=false,powered=false,ypos=single:
        state: minecraft:glow_lichen[down=false,east=true,north=false,south=false,up=false,waterlogged=false,west=false]
        transparent: true
        entity_renderer:
          item: elitefantasy:curtain_single_closed_${color}
          rotation: 90
      facing=north,open=false,powered=false,ypos=single:
        state: minecraft:glow_lichen[down=false,east=false,north=true,south=false,up=false,waterlogged=false,west=false]
        transparent: true
        entity_renderer:
          item: elitefantasy:curtain_single_closed_${color}
          rotation: 0
```

### Shower Curtain Block Behavior

| Property Name | Property Type | Required |
| ------------- | ------------- | -------- |
| single        | string        | yes      |
| left          | string        | yes      |
| middle        | string        | yes      |
| right         | string        | yes      |

```yaml
items:
  elitefantasy:shower_curtain:
    behavior:
      type: block_item
      block:
        behavior:
          - type: painter:shower_curtain_block
        states:
          properties:
            facing:
              type: 4-direction
              default: north
            pos:
              type: elitefantasy:sofa_connect_tile
              default: single
            open:
              type: boolean
              default: false
            powered:
              type: boolean
              default: false
          appearances:
            facing=east,pos=single,open=false,powered=false:
              state: minecraft:glow_lichen[down=false,east=true,north=false,south=false,up=false,waterlogged=false,west=false]
              transparent: true
              entity-renderer:
                item: elitefantasy:shower_curtain_single_closed
                rotation: 90
                translation: 0,-1,0
## ETC
```

### Mini Cubes Block Behavior

```yaml
templates:
  painter:block/mini_cubes_8x8_oak:
    loot:
      template: painter:loot_table/mini_cubes
      arguments:
        item: ${item}
    behaviors:
      - type: painter:mini_cubes
        cubes: mini_cubes
        item: ${item}
        material: ${material:-default}
        mode: full_8
        remove-with-shift: true
        flip-x: true
        flip-y: false
        flip-z: true
        sounds:
          place-sound: minecraft:block.${sound_type}.place
          break-sound: minecraft:block.${sound_type}.break
    states:
      template: painter:states/mini_cubes_8x8
      arguments:
        item: ${item}

  painter:states/mini_cubes_8x8:
    properties:
      mini_cubes:
        type: painter:mini_cubes
        default: c1
    appearances:
      mini_cubes=c1:
        state: barrier
        transparent: true
        entity-renderer:
          item: ${item}_shape_1
          translation: 0,0,0
      mini_cubes=c2:
        state: barrier
        transparent: true
        entity-renderer:
          item: ${item}_shape_10
          translation: 0,0,0
      mini_cubes=c3:
        state: barrier
        transparent: true
        entity-renderer:
          item: ${item}_shape_11
          translation: 0,0,0
      mini_cubes=c4:
        state: barrier
        transparent: true
        entity-renderer:
          item: ${item}_shape_100
          translation: 0,0,0
      mini_cubes=c5:
        state: barrier
        transparent: true
        entity-renderer:
          item: ${item}_shape_101
          translation: 0,0,0
#..etc
    variants:
      mini_cubes=c245:
        appearance: mini_cubes=c245
      mini_cubes=c246:
        appearance: mini_cubes=c246
      mini_cubes=c247:
        appearance: mini_cubes=c247
      mini_cubes=c248:
        appearance: mini_cubes=c248
      mini_cubes=c249:
        appearance: mini_cubes=c249
      mini_cubes=c250:
        appearance: mini_cubes=c250
      mini_cubes=c251:
        appearance: mini_cubes=c251
      mini_cubes=c252:
        appearance: mini_cubes=c252
      mini_cubes=c253:
        appearance: mini_cubes=c253
      mini_cubes=c254:
        appearance: mini_cubes=c254
      mini_cubes=c255:
        appearance: mini_cubes=c255
```

### Pointed Dripstone Block Behavior

It lets you create unique pointed dripstones

#### Thickness

| Property Name | Property Type | Required |
| ------------- | ------------- | -------- |
| tip           | string        | yes      |
| tip\_merge    | string        | yes      |
| frustrum      | string        | yes      |
| middle        | string        | yes      |
| base          | string        | yes      |

#### Vertical direction

| Property Name | Property Type | Required |
| ------------- | ------------- | -------- |
| up            | string        | yes      |
| down          | string        | yes      |

```yaml
blocks:
  elitefantasy:ice_pointed_dripstone:
    behaviors:
      - type: "painter:pointed_dripstone"
    settings:
      item: elitefantasy:ice_pointed_dripstone
      hardness: 1.5
      resistance: 3.0
      map_color: 31
      replaceable: false
      is_randomly_ticking: true
      push-reaction: destroy
      sounds:
        break: minecraft:block.pointed_dripstone.break
        step: minecraft:block.pointed_dripstone.step
        place: minecraft:block.pointed_dripstone.place
        hit: minecraft:block.pointed_dripstone.hit
        fall: minecraft:block.pointed_dripstone.fall
    states:
      properties:
        thickness:
          type: "painter:pointed_dripstone_thickness"
          default: tip
        vertical_direction:
          type: "painter:pointed_dripstone_vertical_direction"
          default: up
      appearances:
        thickness=base,vertical_direction=down:
          auto_state: cactus
          model:
            path: "elitefantasy:block/ice_pointed_dripstone_down_base"
            generation:
              parent: "minecraft:block/pointed_dripstone"
              textures:
                cross: "elitefantasy:block/ice_pointed_dripstone_down_base"
        thickness=base,vertical_direction=up:
          auto_state: tripwire
          model:
            path: "elitefantasy:block/ice_pointed_dripstone_up_base"
            generation:
              parent: "minecraft:block/pointed_dripstone"
              textures:
                cross: "elitefantasy:block/ice_pointed_dripstone_up_base"
#..etc
```

### Amethyst Crystal Block Behavior

```yaml
templates:
  elitefantasy:block/frozen_crystal_bud:
    behaviors:
      - type: "painter:amethyst_crystal"
    settings:
      item: ${__NAMESPACE__}:${__ID__}
    states:
      properties:
        facing:
          type: "painter:amethyst_facing"
          default: up
      appearances:
        down:
          auto_state: tripwire
          model:
            x: 180
            path: "${model_path}"
            generation:
              parent: minecraft:block/cross
              textures:
                cross: "${model_path}"
        east:
          auto_state: tripwire
          model:
            x: 90
            y: 90
            path: "${model_path}"
            generation:
              parent: minecraft:block/cross
              textures:
                cross: "${model_path}"
        north:
          auto_state: tripwire
          model:
            x: 90
            path: "${model_path}"
            generation:
              parent: minecraft:block/cross
              textures:
                cross: "${model_path}"
#..etc
      variants:
        facing=down:
          appearance: down
        facing=east:
          appearance: east
        facing=north:
          appearance: north
        facing=south:
          appearance: south
        facing=up:
          appearance: up
        facing=west:
          appearance: west
```

### Budding Amethyst Block Behavior

```yaml
blocks:
  elitefantasy:budding_frozen_crystal:
    behaviors:
      - type: "painter:budding_amethyst"
        small-bud: elitefantasy:small_frozen_crystal_bud
        medium-bud: elitefantasy:medium_frozen_crystal_bud
        large-bud: elitefantasy:large_frozen_crystal_bud
        cluster: elitefantasy:frozen_crystal_cluster
        chance: 5
    settings:
      item: elitefantasy:budding_frozen_crystal
    state:
      auto_state: solid
      model:
        path: "elitefantasy:block/budding_frozen_crystal"
        generation:
          parent: "minecraft:block/cube_all"
          textures:
            all: "elitefantasy:block/budding_frozen_crystal"
```

### Brittle Ice Block Behavior

```yaml
items:
  elitefantasy:brittle_ice:
    model:
      path: "elitefantasy:block/brittle_ice_0"
    behavior:
      type: block_item
      block:
        behavior:
          - type: painter:brittle_ice
            break-delay-ticks: 60
            cracked-delay-ticks: 20
            middle-delay-ticks: 40
            broken-delay-ticks: 52
            instant-break-fall-distance: 3.0
            instant-break-radius: 1 # 0 = 1x1, 1 = 3x3, 2 = 5x5
            crack-sound: minecraft:block.glass.hit
            break-sound: minecraft:block.glass.break
            particle: minecraft:snowflake
            stage-sound-volume: 0.18
        states:
          properties:
            stage:
              type: painter:brittle_ice_stage
              default: normal
          appearances:
            stage=normal:
              auto_state: solid
              model:
                path: "elitefantasy:block/brittle_ice_0"
            stage=cracked:
              auto_state: solid
              model:
                path: "elitefantasy:block/brittle_ice_1"
                generation:
                  parent: "minecraft:block/cube_all"
                  textures:
                    all: "minecraft:block/frosted_ice_1"
#..etc
          variants:
            stage=normal:
              appearance: stage=normal
            stage=cracked:
              appearance: stage=cracked
            stage=middle:
              appearance: stage=middle
            stage=broken:
              appearance: stage=broken
```

### MultiFace Atacched Block Behavior

```yml
blocks:
  elitefantasy:ice_layer:
    behaviors:
      - type: painter:multiface_attached_block
    states:
      properties:
        down:
          type: boolean
          default: false
        east:
          type: boolean
          default: false
        north:
          type: boolean
          default: false
        south:
          type: boolean
          default: false
        up:
          type: boolean
          default: false
        west:
          type: boolean
          default: false
      appearances:
        none:
          state: minecraft:barrier
        down:
          state: minecraft:tripwire[attached=false,disarmed=false,east=false,north=false,powered=false,south=false,west=false]
          transparent: true
          entity_renderer:
            - type: item_display
              item: elitefantasy:ice_layer_render_down
              display_transform: fixed
              billboard: fixed
              translation: 0,0,0
              scale: 1
        east:
          state: minecraft:tripwire[attached=false,disarmed=false,east=false,north=false,powered=false,south=false,west=false]
          transparent: true
          entity_renderer:
            - type: item_display
              item: elitefantasy:ice_layer_render_west
              display_transform: fixed
              billboard: fixed
              translation: 0,0,0
              scale: 1
#..etc
      variants:
        down=false,east=false,north=false,south=false,up=false,west=false:
          appearance: none
        down=true,east=false,north=false,south=false,up=false,west=false:
          appearance: down
        down=false,east=true,north=false,south=false,up=false,west=false:
          appearance: east
        down=true,east=true,north=false,south=false,up=false,west=false:
          appearance: down_east
        down=false,east=false,north=true,south=false,up=false,west=false:
          appearance: north
        down=true,east=false,north=true,south=false,up=false,west=false:
          appearance: down_north
        down=false,east=true,north=true,south=false,up=false,west=false:
          appearance: east_north
        down=true,east=true,north=true,south=false,up=false,west=false:
          appearance: down_east_north
        down=false,east=false,north=false,south=true,up=false,west=false:
          appearance: south
        down=true,east=false,north=false,south=true,up=false,west=false:
          appearance: down_south
        down=false,east=true,north=false,south=true,up=false,west=false:
          appearance: east_south
        down=true,east=true,north=false,south=true,up=false,west=false:
          appearance: down_east_south
        down=false,east=false,north=true,south=true,up=false,west=false:
          appearance: north_south
        down=true,east=false,north=true,south=true,up=false,west=false:
          appearance: down_north_south
        down=false,east=true,north=true,south=true,up=false,west=false:
          appearance: east_north_south
        down=true,east=true,north=true,south=true,up=false,west=false:
          appearance: down_east_north_south 
```

### Timed Redstone Delay Block Behavior

```yaml
blocks:
  elitefantasy:frozen_crystal_block:
    behaviors:
      - type: painter:timed_redstone_relay
        seconds-per-power: 60
        property: redstone_power
    states:
      properties:
        redstone_power:
          type: int
          range: 0~15
          default: 0
      appearances:
        off:
          auto_state: solid
          model:
            path: elitefantasy:block/frozen_crystal_block
        on:
          auto_state: solid
          model:
            path: elitefantasy:block/frozen_crystal_block_powered
      variants:
        redstone_power=0:
          appearance: off
          settings:
            luminance: 0
        redstone_power=1:
          appearance: on
          settings:
            luminance: 1
        redstone_power=2:
          appearance: on
          settings:
            luminance: 2
        redstone_power=3:
          appearance: on
          settings:
            luminance: 3
        redstone_power=4:
          appearance: on
          settings:
            luminance: 4
        redstone_power=5:
          appearance: on
          settings:
            luminance: 5
        redstone_power=6:
          appearance: on
          settings:
            luminance: 6
        redstone_power=7:
          appearance: on
          settings:
            luminance: 7
        redstone_power=8:
          appearance: on
          settings:
            luminance: 8
#..etc
```

### Wall Block Behavior

```yaml
items:
  painter:snow_bricks_wall:
    material: BRICK
    client-bound-data:
      item-name: <!i><white><l10n:item.snow_bricks_wall>
    model:
      template: painter:model/painter_snow_bricks_wall_inventory
      arguments:
        model: elitefantasy:block/snow_bricks
    behavior:
      type: block_item
      block:
        template: painter:block/painter_snow_bricks_wall
        arguments:
          item: painter:snow_bricks_wall
          block_model: elitefantasy:block/snow_bricks
          wall_post_item: painter:snow_bricks_wall_post
          wall_side_item: painter:snow_bricks_wall_side
          wall_side_tall_item: painter:snow_bricks_wall_side_tall
          sound_type: snow
  painter:snow_bricks_wall_post:
    material: BRICK
    model:
      template: painter:model/painter_snow_bricks_wall_post
      arguments:
        model: elitefantasy:block/snow_bricks
  painter:snow_bricks_wall_side:
    material: BRICK
    model:
      template: painter:model/painter_snow_bricks_wall_side
      arguments:
        model: elitefantasy:block/snow_bricks
  painter:snow_bricks_wall_side_tall:
    material: BRICK
    model:
      template: painter:model/painter_snow_bricks_wall_side_tall
      arguments:
        model: elitefantasy:block/snow_bricks
          
templates:
  painter:block/painter_snow_bricks_wall:
    behaviors:
      - type: painter:wall_block
    loot:
      pools:
        - rolls: 1
          conditions:
            - type: survives_explosion
          entries:
            - type: item
              item: ${item}
    settings:
      item: ${item}
      map-color: 8
      hardness: 0.75
      resistance: 1.5
      tags:
        - minecraft:mineable/pickaxe
        - minecraft:walls
      is_suffocating: false
      is_redstone_conductor: false
      sounds:
        break: minecraft:block.${sound_type}.break
        step: minecraft:block.${sound_type}.step
        place: minecraft:block.${sound_type}.place
        hit: minecraft:block.${sound_type}.hit
        fall: minecraft:block.${sound_type}.fall
        destroy: minecraft:block.anvil.destroy
    states:
      template: painter:block_state/snow_bricks_wall
      arguments:
        base_block: stone_brick_wall
        wall_post_item: ${wall_post_item}
        wall_side_item: ${wall_side_item}
        wall_side_tall_item: ${wall_side_tall_item}
        item: ${item}
        
  painter:block_state/snow_bricks_wall:
    properties:
      up:
        type: boolean
        default: true
      north:
        type: painter:wall_connection
        default: none
      east:
        type: painter:wall_connection
        default: none
      south:
        type: painter:wall_connection
        default: none
      west:
        type: painter:wall_connection
        default: none
      waterlogged:
        type: boolean
        default: false
    appearances:
      up=true,north=none,east=none,south=none,west=none,waterlogged=false:
        state: ${base_block}[up=true,north=none,east=none,south=none,west=none,waterlogged=false]
        entity-renderer:
          - item: ${wall_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
        transparent: true
      up=true,north=none,east=none,south=none,west=low,waterlogged=false:
        state: ${base_block}[up=true,north=none,east=none,south=none,west=low,waterlogged=false]
        entity-renderer:
          - item: ${wall_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${wall_side_item}
            rotation: 90
        transparent: true
      up=true,north=none,east=none,south=none,west=tall,waterlogged=false:
        state: ${base_block}[up=true,north=none,east=none,south=none,west=tall,waterlogged=false]
        entity-renderer:
          - item: ${wall_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${wall_side_tall_item}
            rotation: 90
        transparent: true
      up=true,north=none,east=none,south=low,west=none,waterlogged=false:
        state: ${base_block}[up=true,north=none,east=none,south=low,west=none,waterlogged=false]
        entity-renderer:
          - item: ${wall_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${wall_side_item}
            rotation: 0
        transparent: true
#..etc
    variants:
      up=true,north=none,east=none,south=none,west=none,waterlogged=false:
        appearance: up=true,north=none,east=none,south=none,west=none,waterlogged=false
      up=true,north=none,east=none,south=none,west=low,waterlogged=false:
        appearance: up=true,north=none,east=none,south=none,west=low,waterlogged=false
      up=true,north=none,east=none,south=none,west=tall,waterlogged=false:
        appearance: up=true,north=none,east=none,south=none,west=tall,waterlogged=false
      up=true,north=none,east=none,south=low,west=none,waterlogged=false:
        appearance: up=true,north=none,east=none,south=low,west=none,waterlogged=false
      up=true,north=none,east=none,south=low,west=low,waterlogged=false:
        appearance: up=true,north=none,east=none,south=low,west=low,waterlogged=false
      up=true,north=none,east=none,south=low,west=tall,waterlogged=false:
        appearance: up=true,north=none,east=none,south=low,west=tall,waterlogged=false
      up=true,north=none,east=none,south=tall,west=none,waterlogged=false:
        appearance: up=true,north=none,east=none,south=tall,west=none,waterlogged=false
      up=true,north=none,east=none,south=tall,west=low,waterlogged=false:
        appearance: up=true,north=none,east=none,south=tall,west=low,waterlogged=false
      up=true,north=none,east=none,south=tall,west=tall,waterlogged=false:
        appearance: up=true,north=none,east=none,south=tall,west=tall,waterlogged=false
      up=true,north=none,east=low,south=none,west=none,waterlogged=false:
        appearance: up=true,north=none,east=low,south=none,west=none,waterlogged=false
      up=true,north=none,east=low,south=none,west=low,waterlogged=false:
        appearance: up=true,north=none,east=low,south=none,west=low,waterlogged=false
      up=true,north=none,east=low,south=none,west=tall,waterlogged=false:
        appearance: up=true,north=none,east=low,south=none,west=tall,waterlogged=false
      up=true,north=none,east=low,south=low,west=none,waterlogged=false:
        appearance: up=true,north=none,east=low,south=low,west=none,waterlogged=false
      up=true,north=none,east=low,south=low,west=low,waterlogged=false:
        appearance: up=true,north=none,east=low,south=low,west=low,waterlogged=false
      up=true,north=none,east=low,south=low,west=tall,waterlogged=false:
        appearance: up=true,north=none,east=low,south=low,west=tall,waterlogged=false
      up=true,north=none,east=low,south=tall,west=none,waterlogged=false:
        appearance: up=true,north=none,east=low,south=tall,west=none,waterlogged=false
      up=true,north=none,east=low,south=tall,west=low,waterlogged=false:
        appearance: up=true,north=none,east=low,south=tall,west=low,waterlogged=false
      up=true,north=none,east=low,south=tall,west=tall,waterlogged=false:
```

### Redstone Field Block Behavior

```yaml
blocks:
  elitefantasy:abyssal_crystal_block:
```

#### ICE

```yaml
    behaviors:
      - type: painter:redstone_field
        field-type: ice
        property: redstone_power
        max-radius: 6
        scan-interval-ticks: 20
        particle-count: 8
        safe-radius: 2.25
        ice:
          slowness-amplifier: 4
          slow-falling-amplifier: 0
          mining-fatigue-amplifier: 2
```

#### FIRE

```yaml
    behaviors:
      - type: painter:redstone_field
        field-type: fire
        property: redstone_power
        max-radius: 6
        scan-interval-ticks: 20
        particle-count: 8
        safe-radius: 2.25
        fire:
          fire-ticks: 80
          ignite-blocks: true
          block-ignite-attempts: 12
```

```yaml
    states:
      properties:
        redstone_power:
          type: int
          range: 0~15
          default: 0
      appearances:
        off:
          auto_state: solid
          model:
            path: elitefantasy:block/abyssal_crystal_block
        on:
          auto_state: solid
          model:
            path: elitefantasy:block/abyssal_crystal_block_powered
      variants:
        redstone_power=0:
          appearance: off
          settings:
            luminance: 0
        redstone_power=1:
          appearance: on
          settings:
            luminance: 1
        redstone_power=2:
          appearance: on
          settings:
            luminance: 2
        redstone_power=3:
          appearance: on
          settings:
            luminance: 3
        redstone_power=4:
          appearance: on
          settings:
            luminance: 4
        redstone_power=5:
          appearance: on
          settings:
            luminance: 5
        redstone_power=6:
          appearance: on
          settings:
            luminance: 6
        redstone_power=7:
          appearance: on
          settings:
            luminance: 7
        redstone_power=8:
          appearance: on
          settings:
            luminance: 8
#..etc
```

### Redstone Field Resonator Block Behavior

```yaml
blocks:
  elitefantasy:abyssal_crystal_cluster:
```

#### ICE

```yaml
    behaviors:
      - type: painter:redstone_field
        trigger-field-types: "ice"
        output-field-type: "inherit"
        resonance-radius: 3
        particle-count: 24
        safe-radius: 0.5
        resonance-ticks: 45
        ice:
          slowness-amplifier: 7"
          slow-falling-amplifier: 1
          leather-armor-effect-reduction: 1
          full-leather-prevents-freeze: true
```

#### FIRE

```yaml
    behaviors:
      - type: painter:redstone_field
        trigger-field-types: fire
        output-field-type: "inherit"
        resonance-radius: 3
        particle-count: 24
        safe-radius: 0.5
        resonance-ticks: 45
        fire:
          fire-ticks: "140"
          ignite-blocks: true
          block-ignite-attempts: 20
```

### Multi Sapling Block Behavior

```yaml
items:
  elitefantasy:baobab_sapling:
    material: PAPER
    settings:
      fuel-time: 100
    data:
      item-name: "<!i><white><l10n:item.baobab_sapling>"
    texture: elitefantasy:block/baobab_sappling
    behavior:
      type: block_item
      block:
        settings:
          template: elitefantasy:settings/sapling
        behaviors:
          - type: painter:multi_sapling
            grow_speed: 0.07
            bone_meal_success_chance: 0.45
            max_stage: 1
            consume_saplings: true
            patterns:
              - size_x: 4
                size_y: 1
                size_z: 4
                required_stage: 1
                saplings:
                  - painter:baobab_sapling
```

#### Feature

```yaml
            generators:
              - type: feature
                id: painter:baobab_tree
                offset_x: 1
                offset_y: 0
                offset_z: 1
```

#### Structure

```yaml
            generators:
              - type: structure
                id: painter:baobab_tree
                offset_x: 1
                offset_y: 0
                offset_z: 1
```

#### Command

```yaml
            generators:
              - type: command
                command: "execute in {dimension} positioned {x} {y} {z} run place feature painter:baobab_tree"
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://plugins.elitefantasy.net/mechanics/unearthmechanic/unique-behaviors-of-craftengine.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
