Home›Java›Mods›⚔ Scword — Custom Items Management
ModsJava

⚔ Scword — Custom Items Management

⬇ Download on Spigot
⚔ Scword — Custom Items Management
​
Scword is a high-performance Paper 1.21.4 plugin for creating, managing, and tracking custom items with advanced features like crafting recipes, item limits, exclusive lifetime tracking, a modular ability system, Discord webhook notifications, and a full-featured GUI editor.

Features Weapon Creation & Editing
Ability System
Recipe System
Item Limits
Exclusive Limited Items Lifetime tracking system — controls how many times an item can ever be obtained:
Type Behavior Best For
TOTAL_SERVER Only X copies can ever exist server-wide Event items, one-time rewards
PER_PLAYER Each player can only obtain Y copies ever Starter weapons, rank rewards
TIMED Only obtainable within a date/time window Seasonal items, holiday events
COMBINATION All three enforced simultaneously Ultra-rare limited items
Key behaviors:
Craft Notifications
Discord Webhooks
️ Full GUI Editor
Auto-Migration
Commands
Command Permission Description
/scword gui scword.gui Open the weapon management GUI
/scword list scword.use List all weapons with current counts
/scword give <id> [player] [amount] scword.give Give a weapon to yourself or another player
/scword craft <id> scword.use Open the quick-craft GUI for a weapon
/scword create <id> <material|[hand]> scword.admin Create a new weapon
/scword limit <id> <max> scword.admin Set the concurrent item limit
/scword webhook <test|status|reload> scword.admin Manage Discord webhook
/scword reload scword.reload Reload plugin configs and weapons
/scword exclusivereset <id> [--confirm] scword.admin Reset exclusive lifetime counts
/scword help — Show the help menu
Permissions
Permission Default Description
scword.use OP Basic plugin usage (list, craft)
scword.admin OP Full admin access (create, limit, webhook, exclusivereset)
scword.give OP Give weapons to players
scword.reload OP Reload the plugin
scword.gui OP Access the GUI editor
scword.bypass.limit OP Bypass item limits and exclusivity

⚙️ Configuration config.yml
Code (YAML):

settings
:
  debug
: false                                 # Extra console logging
  limit-check-interval
: 100                     # Ticks between limit scans (20 = 1s)
  count-inventory-items
: true                   # Count items in player inventories toward limits
  ability-tick-rate
: 1                         # Ability cooldown tick rate (ticks)
  ability-action-bar
: true                     # Send action bar messages for abilities
  craft-notification-cooldown
: 30               # Seconds between re-notifications
  craft-notification-sound
: "BLOCK_NOTE_BLOCK_PLING,1.0,2.0"   # SOUND,vol,pitch or "none"
  prefix
: "<gradient:#ff6b6b:#ffd93d>[Scword]</gradient> "

messages
:
  no-permission
: "<red>You don't have permission to do that."
  weapon-given
: "<green>Gave <yellow>{weapon}</yellow> to <aqua>{player}</aqua>."
  weapon-not-found
: "<red>Weapon '<yellow>{weapon}</yellow>' not found."
  limit-reached
: "<red>The item limit for <yellow>{weapon}</yellow> has been reached! <gray>({current}/{max})"
  limit-cooldown
: "<red>You must wait <yellow>{cooldown}s</yellow> before crafting <yellow>{weapon}</yellow> again!"
  plugin-reloaded
: "<green>Plugin reloaded successfully!"
  weapon-saved
: "<green>Weapon '<yellow>{weapon}</yellow>' saved successfully!"
  weapon-crafted
: "<green>Successfully crafted <yellow>{weapon}</yellow>!"
  invalid-material
: "<red>Invalid material: <yellow>{material}"
  exclusive-reached
: "<red>This exclusive item <yellow>{weapon}</yellow> has reached its lifetime limit and can no longer be obtained!"
  exclusive-lore-first
: "<dark_gray>✦ <gold>First Edition — <white>{obtained_plus_one}/{max}"
  exclusive-lore-last
: "<dark_gray>✦ <red>The Last — <white>{max}/{max}"
  exclusive-lore-none-left
: "<dark_gray>✦ <dark_red>No More Remain — <white>{max}/{max}"
  exclusive-lore-singular
: "<dark_gray>✦ <gold>The One and Only — <white>1/1"
  exclusive-lore
: "<dark_gray>✦ <gray>Limited Edition: <white>{obtained_plus_one}/{max} <gray>remaining"

gui
:
  weapon-list
:
    title
: "<bold><gradient:#ff6b6b:#ffd93d>Custom Weapons</gradient></bold>"
    size
: 54
    background-item
:
      material
: BLACK_STAINED_GLASS_PANE
      name
: " "
    navigation
:
      prev-page
: { slot : 45, material : ARROW, name : "<red>« Previous Page" }
      next-page
: { slot : 53, material : ARROW, name : "<green>Next Page »" }
      close
: { slot : 49, material : BARRIER, name : "<red>Close" }
  weapon-editor
:
    title
: "<bold><gradient:#6b9fff:#a78bfa>Edit: {weapon}</gradient></bold>"
    size
: 54
  recipe-editor
:
    title
: "<bold><gradient:#6bffb8:#6b9fff>Recipe: {weapon}</gradient></bold>"
    size
: 54
 

Weapon YAML Structure (weapons/example_weapon.yml)

Code (YAML):

id
: "hellfire_blade"
name
: "<gradient:#ff4500:#ff8c00>Hellfire Blade</gradient>"
material
: NETHERITE_SWORD
custom-model-data
: 0

properties
:
  unbreakable
: true
  hide-flags
: true
  hide-item-stats
: true
  hide-enchants
: false
  hide-enchant-glint
: true
  hide-unbreakable
: true

lore
:
 - ""
  - "<dark_red>✦ <red><bold>Hellfire Blade</bold></red> ✦</dark_red>"
  - ""
  - "<gray>A blade forged in the depths of the Nether...</gray>"
  - ""
  - "<gold>⚔ Damage
: <yellow> {stat:base_damage }</yellow> "
  - "
<red> Kills : <yellow> {stat:kills }</yellow> "
  - "
"

enchantments:
  SHARPNESS: 5
  FIRE_ASPECT: 2

attributes:
  ATTACK_DAMAGE:
    amount: 12.0
    operation: ADD_NUMBER
    slot: MAINHAND

stats:
  base_damage: 12
  kills: 0

limit:
  enabled: true
  max: 3
  type: GLOBAL                   # GLOBAL or LOCAL
  reset_mode: NEVER              # NEVER, FULL_RESET, PER_CRAFT
  reset_cooldown: 0

exclusive:
  enabled: false
  type: TOTAL_SERVER             # TOTAL_SERVER | PER_PLAYER | TIMED | COMBINATION
  lifetime_max: 10               # -1 = unlimited
  player_max: -1                 # -1 = unlimited
  time_start: "
"                 # ISO-8601: "2026-07-01T00:00:00Z " or "2026-07-01 "
  time_end: "
"
  prevent_give: true             # Block /scword give when exclusivity exceeded

abilities:
  - type: FIRE
    trigger: ON_HIT
    duration: 60
    cooldown: 40
    chance: 100
  - type: VAMPIRE
    trigger: ON_KILL
    heal-amount: 4.0
    cooldown: 0
    chance: 100

recipe:
  enabled: true
  type: SHAPED
  shape:
    - "
NRN "
    - "
NBS "
    - "
NRN "
  ingredients:
    N: NETHERITE_INGOT
    R: BLAZE_ROD
    B: NETHER_STAR
    S: NETHER_BRICK
  result-amount: 1

webhook:
  enabled: true
  announce_on_craft: true
  announce_on_destroy: true
  announce_on_available: true
  thumbnail_url: "
"
GUI Editor Access with /scword gui. The weapon list shows all weapons with pagination, current limit counts, and quick actions. Click a weapon to enter the editor:
Slot Setting Controls
Properties Unbreakable, hide flags/stats/enchants/glint Click to toggle
Name Display name (MiniMessage) Click to type in chat
Lore Lore lines (MiniMessage, {stat:key} placeholders) Click to edit
Limits Toggle on/off, max, type (GLOBAL/LOCAL), reset mode, cooldown Click/cycle
Exclusive Toggle, type (shift+click), lifetime max (click), player max (right-click), time window (shift+right-click) Multi-interaction
Recipe Open the 3×3 visual recipe editor Click to open
Abilities Manage all abilities with parameters Click to configure
Save Save to disk Click
Give Give yourself the weapon Click
Exclusive GUI Controls
Exclusive Limited Items — Deep Dive Priority Behavior When both normal limits and exclusive limits are enabled on a weapon, exclusivity takes priority. The normal concurrent limit is ignored in favor of the lifetime exclusive tracking. Example:
Data Persistence
Exclusive Lore Weapons with a TOTAL_SERVER lifetime limit automatically show a dynamic lore line based on how many copies remain:
Scenario Default Lore Config Key
Only 1 can ever exist ✦ The One and Only — 1/1 exclusive-lore-singular
First one crafted ✦ First Edition — 1/10 exclusive-lore-first
Last remaining copy ✦ The Last — 10/10 exclusive-lore-last
All copies exhausted ✦ No More Remain — 10/10 exclusive-lore-none-left
Normal (mid-range) ✦ Limited Edition: #3/10 remaining exclusive-lore
All keys are configurable via messages in config.yml. Available placeholders:
Placeholder Description
{max} Total lifetime_max configured
{remaining} How many more can be obtained
{obtained} How many have been obtained (0-indexed)
{obtained_plus_one} This item's sequence number (1-indexed)
To customize, add any of the keys to your config.yml messages section. They will be auto-merged on next reload.
Craft Notifications When a player picks up items, clicks in an inventory, or closes a chest, the plugin checks if they have materials for any enabled recipe:
⚔ Hellfire Blade is ready to craft! ┃ [⚡ Craft Now] — Click to place materials and craft!
Click to expand...
Configuration
Data Files
File Purpose
plugins/Scword/config.yml Main plugin configuration
plugins/Scword/weapons/*.yml Individual weapon definitions
plugins/Scword/webhook.yml Discord webhook configuration
plugins/Scword/exclusive_data.yml Exclusive lifetime counts (auto-managed)
Auto-Migration
PlaceholderAPI Expansion When PlaceholderAPI is installed, Scword registers the scword expansion automatically. All placeholders follow the format:
%scword_exclusive_<type>_<weaponId>%
Click to expand...
Where <weaponId> is the weapon's ID (e.g. hellfire_blade). Since types are single words, weapon IDs with underscores work naturally. Exclusive Placeholders
Placeholder Returns Example
%scword_exclusive_obtained_<id>% Server-wide lifetime crafts %scword_exclusive_obtained_hellfire_blade% → 3
%scword_exclusive_remaining_<id>% Remaining lifetime capacity %scword_exclusive_remaining_hellfire_blade% → 7
%scword_exclusive_max_<id>% Configured lifetime_max %scword_exclusive_max_hellfire_blade% → 10
%scword_exclusive_canobtain_<id>% Whether anyone can still obtain it %scword_exclusive_canobtain_hellfire_blade% → true
%scword_exclusive_lore_<id>% The dynamic exclusive lore line (MiniMessage) %scword_exclusive_lore_hellfire_blade% → ✦ First Edition — 1/10
Per-Player Placeholders These require a player context (e.g. in a player's chat message, sign, or hologram that has access to the viewing player).
Placeholder Returns Example
%scword_exclusive_playerobtains_<id>% How many times the player has obtained it %scword_exclusive_playerobtains_hellfire_blade% → 1
%scword_exclusive_playermax_<id>% Configured player_max %scword_exclusive_playermax_hellfire_blade% → 3
%scword_exclusive_playerremaining_<id>% Remaining per-player capacity %scword_exclusive_playerremaining_hellfire_blade% → 2
%scword_exclusive_canobtainplayer_<id>% Whether the player can obtain it %scword_exclusive_canobtainplayer_hellfire_blade% → true
Usage Examples In item lore (via PlaceholderAPI in chat/minimessage):
Code (Text):
%scword_exclusive_lore_hellfire_blade%
In holograms / scoreboards:
Code (Text):
&7Hellfire Blade Remaining: &e%scword_exclusive_remaining_hellfire_blade%
Conditional display (e.g. in PlaceholderAPI conditionals):
Code (Text):
%scword_exclusive_canobtain_hellfire_blade%  → use this to show/hide craft buttons

Note from developer: The plugin is built for my minecraft server and is experimental! If you encounter any bugs kindly report it to me thank you! (ONLY TESTED ON A 1.21.11 SERVER)

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

⚔ Scword — Custom Items Management is a free Minecraft Java mod. Compatible with Minecraft 1.17, 1.18, 1.19, 1.20 and newer. Downloaded 10 times (via Spigot). Download it and open it directly in the game.

Explore more