HomeJavaModsItem Smith
Item Smith
ModsJava

Item Smith

by MastrJimbo · on Modrinth

Free, custom items for Paper — a schema-driven ability engine plus a full in-game chest-GUI item creator. Free Minecraft Java mod for 1.21.8.

⬇ Download on Modrinth
Item Smith — screenshot 1Item Smith — screenshot 2Item Smith — screenshot 3Item Smith — screenshot 4Item Smith — screenshot 5

ItemSmith

Custom items for Paper: an ability engine and a real in-game item creator.

Give a sword a poison strike. Make an axe that freezes what it hits. Build a pickaxe that vein-mines and auto-smelts, a wand that blinks you through walls, a totem that heals everyone nearby. Then hand the item to your players through a craft, a mob drop, a fishing catch, or a chest, and let them discover it in the vanilla recipe book.

You build all of it in-game, through a chest GUI, or by hand-editing a small, readable YAML file. Both write the same file. Both /reload instantly.

Pre-release. ItemSmith is in final pre-launch polish. This page describes the plugin as built and tested on Paper 1.21.8; it is not yet a public release.


How the engine works

Every item is a base material + display text + a list of abilities. Each ability is a small pipeline:

Activator (when)Conditions (if)Targeter (who)Actions (what), with an optional Gate (may I?).

Because every component declares its own typed parameters, the GUI can render an editor for it automatically and the YAML serializer can read/write it automatically. That's how ItemSmith reaches this scale without hand-building a menu per feature:

Component Count Examples
Activators ~150 right/left click, hit/be-hit, kill, death, block break/place, consume, sneak, drop/pickup, projectile, equip, hold-tick
Actions ~160 damage, potion effect, knockback, pull, lifesteal, ignite, freeze, teleport/blink/dash, area-break, vein-break, auto-smelt, spawn entity, give item, economy
Conditions ~70 health/hunger, world, region, time, item, target type, charges, cooldown, balance, permission
Targeters 18 self, target, nearby entities, looked-at block, area, look direction

≈400 registered engine components in total. The plugin logs the exact count on boot.

Flow control (abilities that branch)

Actions aren't just a flat list; several are nested flow-control blocks, so an ability can make decisions and sequence itself:

Combine them and a single ability can stagger effects over time, roll for a critical, or fan out a combo, with no code and just nested blocks.

Gating & economy (balance your items)

Every ability can be gated so power costs something:

(Admin itemsmith.bypass.* permissions let staff skip cost, cooldown, or region gates for testing.)

Obtaining: put items into the world's economy

An item nobody can get is just a screenshot. ItemSmith makes custom items reachable through every Bukkit-native path:

The in-game creator

An admin-only chest-GUI creator, built on triumph-gui and the native Paper Dialog API, so text entry, search boxes and confirmations look like vanilla, with no resource pack required for the GUI itself:

Everything the GUI does, you can also do by hand in YAML; they're two doors into the same file.


A minimal example item

plugins/ItemSmith/items/venom_blade.yml:

material: DIAMOND_SWORD
name: "<gradient:#00e676:#1de9b6>Venom Blade</gradient>"
lore:
  - "<dark_gray>Coated in a lethal toxin.</dark_gray>"
  - "<gray>On hit: <green>Poison</green> + bonus damage</gray>"

abilities:
  - activator: player_hit_entity   # when you hit something in melee
    targeter: target               # act on the entity you hit
    cooldown: 1.5                   # seconds; shows the vanilla cooldown sweep
    actions:
      - type: add_damage            # extra damage on the hit
        amount: 2                   # 2.0 = one heart
      - type: potion_effect         # then poison the target
        effect: poison
        duration: 5                 # seconds
        amplifier: 0                # 0 = level I

recipe:
  type: shaped
  shape:
    - " F "
    - " D "
    - " S "
  ingredients:
    F: FERMENTED_SPIDER_EYE
    D: DIAMOND
    S: STICK

Drop that file in, run /itemsmith reload, and /itemsmith get venom_blade. Or build the exact same thing in the GUI and it writes this file for you. Share the file and anyone else's server has the item.


Textures: Bring Your Own Pack (for now)

ItemSmith does not generate resource packs yet. Custom textures and models are Bring-Your-Own-Pack: point an item at item-model: or custom-model-data: and supply your own pack, and it renders. Out of the box, items use their base material's look, and the GUI is native-styled so it needs no pack at all. Automatic resource-pack generation is on the roadmap (see below).


Requirements & compatibility


Commands & permissions

Commands for /itemsmith (aliases /ismith, /citems):

Subcommand What it does
catalog Open the player catalog (browse / search / how-to-obtain)
open Open the admin creator GUI
create Start a new item in the creator
get <id> Give yourself a custom item
give <id> [player] Give a custom item to a player
list List all defined items
reload Reload item files from disk

Permissions:

Node Default Purpose
itemsmith.admin op Creator GUI + all admin commands
itemsmith.catalog true Open the player catalog
itemsmith.bypass.all false Bypass all ability gates
itemsmith.bypass.cost false Bypass use-costs
itemsmith.bypass.cooldown false Bypass cooldown groups
itemsmith.bypass.region false Bypass region gating

Roadmap

Built and working today: the full ability engine, ~150 activators / ~160 actions / ~70 conditions / 18 targeters, nested flow control, gating & economy, the in-game creator GUI, all Bukkit-native recipes, mob/block drops, loot-table injection, the player catalog and recipe-book integration.

Planned (not yet in the plugin, listed so you know what's coming, not implying it's here):


TL;DR

A custom-items plugin for Paper 1.21.8 with a schema-driven ability engine (Activator → Conditions → Targeter → Actions), ~400 components, nested flow control, cost/cooldown/region gating, every native recipe type plus drops and loot injection, an in-game chest-GUI creator, and a player catalog. Items are shareable YAML. Bring your own resource pack for custom textures.


Demo Videos

Firing Item Demo

Creating Item Demo


Credits

Built on Paper and triumph-gui (MIT, © 2021 TriumphTeam), which powers the in-game creator GUI and is bundled inside the jar.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more