Skip to content

config.yml

# Where new custom-model-data numbers start.
model-data-start: 20000

# Ranges Ember Forge will never assign. Use this for GUI icons or another
# plugin's numbers, so a rebuild cannot collide with them.
reserved-model-data:
  - "1000-4999"

# Content folders to scan. ItemsAdder layout is <pack>/configs/*.yml;
# Oraxen and Nexo use <pack>/items/*.yml.
scan-paths:
  - "/home/container/plugins/ItemsAdder/contents"

# Adopt ItemsAdder's existing id assignments so items already in the world
# keep rendering. Set this BEFORE the first build.
import-itemsadder-ids: "/home/container/plugins/ItemsAdder/storage/items_ids_cache.yml"

# Extra finished packs merged underneath your items.
include-packs:
  - "include/icons.zip"

# Shown in the client's pack list.
pack-description: "My Server"

# Build on every startup. Turn off on a large network that rebuilds by hand.
build-pack-on-start: true

hosting:
  # folder | self-host
  mode: folder
  folder:
    publish-dir: "/var/www/pack"
    url: "https://cdn.example.com/pack.zip"
  self-host:
    port: 8163
    public-address: ""
  # Whether Ember Forge sends the pack itself on join.
  send-on-join: false
  prompt: "Server items"

Notes on the fiddly ones

reserved-model-data — ranges, inclusive, as strings. An id inside a reserved range is never handed out, but an id imported from ItemsAdder is honoured even if reserved: keeping existing items rendering wins over tidiness.

include-packs — merged underneath your items, so your definitions override theirs. Paths are relative to the plugin folder unless absolute.

send-on-join: false — Ember Forge still builds and publishes; it just does not send. Use it when another plugin owns the resource-pack prompt.