resourcepack.ai
DOCS

Migrating

Moving from ItemsAdder

RP Engine reads ItemsAdder config files as they are. Copy a folder out of their contents/ — the configs at its root, textures/ and models/ beside them, no pack.yml — into plugins/RPEngine/content/ and start the server.

plugins/RPEngine/content/
  my_content/            ← straight out of ItemsAdder's contents/
    my_config.yml
    textures/
    models/

There is nothing to turn on. A file is recognised by its own shape — an info: block beside items: or font_images: — which nothing of ours looks like, since our top-level keys are IDs. One of their files also works inside a pack of yours, which is the useful shape for moving over a piece at a time.

What comes across#

ItemsAdderRP Engine
items.<id>an item
resource.materialmaterial
resource.textures / texturetexture — the first one; a flat item has one picture
resource.model_pathmodel
display_name or namename — both, since 4.0.9 renamed it
lore, permissionthe same
enchants, attribute_modifiers.mainhandenchantments, attributes
durability.max_durability, unbreakabledurability, unbreakable
max_stack_sizestack
specific_properties.armor.slotarmor
behaviours.liquid_bucketliquid
behaviours.furnitureplace:, with its light, solidity and seat
blocks.<id>a custom block, with its model, hardness, light and tool
font_images.<id>an icon
enabled: falseskipped, as it is there

What does not#

Each of these is a warning naming the ID when the pack loads, never a silence — a migration that quietly drops a third of somebody's pack is worse than one that refuses out loud.

A world of blocks does not come across

Block definitions translate. The blocks already standing in a world do not: the vanilla state each one hides in was allocated by ItemsAdder against its own numbering, so this engine reads them as whatever it gave that state. A pack migrates; a world has to be rebuilt or remapped by hand.

Note also that the pool here is smaller — 49 per note block base rather than 800 — because the instrument cannot be part of a block's identity. A pack with hundreds of blocks will not fit as it stands.

Their entities and recipes are a different feature rather than a different spelling, and want writing as entities/ and recipes/ definitions. Both are short.

events, drop and item_flags are ItemsAdder's own plugin behaviour rather than properties of an item. Actions cover most of what events did.

Two things worth knowing#

The folder name is the namespace. A file whose info.namespace says something else loads under the folder's name and warns you: the folder is what the engine claimed, and IDs written elsewhere have to resolve to something.

Their art lives at the pack root, ours under assets/. Both are read, so their textures/item/ruby.png and models/lamp.json need no moving — but if you are writing new content beside it, assets/ is the documented home and is what the content folder page assumes.

Armour art is the one file you do have to move. ItemsAdder draws armour its own way; RP Engine uses vanilla's equipment path, which arrived in 1.21.4 and is a different picture in a different place. Put yours at assets/textures/entity/equipment/humanoid/<id>.png (or humanoid_leggings/ for legs) and the item is otherwise unchanged. The build warns with the exact path when it is missing.