Skip to content

Ember Forge

Custom items, furniture and resource packs for Paper servers — without a pack pipeline that fights you.

Ember Forge reads content packs you already own, builds one resource pack from all of them, and refuses to publish a pack it cannot render.

Why another content plugin

Most custom-content plugins hand you a pack and hope. Ember Forge treats the pack as something to be verified, because the failure modes are invisible until a player logs in:

  • Merged dispatch tables. Every item on a base material shares one items/<material>.json. Plugins that write one file per pack silently erase each other — the last pack applied wins and everything before it disappears.
  • Deterministic output. Entries are written sorted with a fixed timestamp, so identical input always produces a byte-identical zip and a stable SHA-1. A pack whose hash changes on every rebuild is rejected by every client that already downloaded it.
  • Pre-publish validation. Every entry is resolved — model, parent chain and every texture — before publishing. Anything that cannot render is dropped, so a missing texture shows the plain base item instead of the magenta-and-black missing-texture block.
  • Overlays preserved. Pack overlays from imported packs are carried across. Drop them and the overlay directories become unreachable, which silently blanks every vanilla item the source pack touched.

What it reads

Format Layout Status
ItemsAdder contents/<pack>/configs/*.yml Items, furniture, model ids
Oraxen <pack>/items/*.yml Items
Nexo <pack>/items/*.yml Items

You do not need ItemsAdder, Oraxen or Nexo installed. Ember Forge reads their content folders directly, so you can uninstall the original plugin and keep the content you paid for.

Requirements

  • Paper 1.21+ (api-version: 26.2)
  • Java 21+
  • No other plugin. Ember Forge has no dependencies.

Next: Installation