Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
NotItem
日本語の説明は ページ下部 にあります

NotItem is a lightweight plugin that restricts specific items per world or globally.
Manage restricted items easily via a GUI — no item IDs required.
Perfect for lobby servers, adventure maps, and controlled survival environments.
Features
- Per-world restrictions and a global list (
all) - Simple GUI-based management (
/notitem gui) - Quick commands: add the item in your hand with a single
/notitem add - Instant item removal with minimal performance impact
- Pickup, inventory clicks, dragging, crafting and item use are blocked
- Armor, off-hand, cursor and shulker box contents are checked too
- Bypass permission (
notitem.bypass, OP by default) - Fully customizable messages via
language.yml - Anti-spam: repeated "item removed" messages are throttled
- Automatic update of
config.yml/language.ymlfrom older versions
Commands & Permissions
Commands
/notitem gui [world | all] - Open the GUI to manage restricted items (default: all)
/notitem list [world | all] - View restricted items
/notitem add [world | all] [item] - Add a restricted item
/notitem remove [world | all] [item] - Remove a restricted item
/notitem reload - Reload config.yml and language.yml
add / remove shortcuts:
| Command | Effect |
|---|---|
/notitem add |
Adds the item in your main hand to all |
/notitem add <world> |
Adds the item in your main hand to <world> |
/notitem add <item> |
Adds <item> to all (when it is not a world name) |
/notitem add <world> <item> |
Adds <item> to <world> |
remove works the same way. <world> must be all or an existing world.
Permissions
| Permission | Description | Default |
|---|---|---|
notitem.admin |
Use all /notitem commands |
OP |
notitem.bypass |
Not affected by item restrictions | OP |
Configuration
config.yml
# "all" applies to every world.
restricted-items:
world:
- TNT
- BEDROCK
all:
- COMMAND_BLOCK
# Interval (in ticks) of the periodic inventory scan. 20 = 1 second, 0 = disabled.
scan-interval-ticks: 20
# Minimum time (in milliseconds) between 'item removed' messages for the same item.
message-cooldown-ms: 3000
Replace world with a specific world name, or use all to apply restrictions globally.
World names containing dots (e.g. survival.nether) are supported.
language.yml
language.yml (default: Japanese)
# Message language file
# lang-version is managed by the plugin. Do not edit it.
lang-version: 1
prefix: "&7[&cNotItem&7] &r"
item-removed: "&e%world%&r では &c%item%&r の所持は禁止されているため削除しました。"
reload-success: "&a設定を再読み込みしました。"
no-permission: "&c権限がありません。"
usage: "&e使用法: /notitem <add | remove | list | gui | reload>"
item-added: "&a%item% を %world% の禁止リストに追加しました。"
item-already-listed: "&e%item% は既に %world% の禁止リストに登録されています。"
item-removed-list: "&e%item% を %world% の禁止リストから削除しました。"
item-not-listed: "&e%item% は %world% の禁止リストに登録されていません。"
invalid-material: "&c無効なアイテム名です。"
invalid-world: "&c無効なワールド名です。(all または存在するワールド名を指定してください)"
no-held-item: "&c手にアイテムを持っていません。アイテム名を指定するか、アイテムを手に持ってください。"
player-only: "&cこのコマンドはプレイヤーのみ実行できます。"
save-failed: "&c設定ファイルの保存に失敗しました。コンソールを確認してください。"
# List command
list-header: "&e--- 禁止アイテムリスト (%world%) ---"
list-item: "&7- &f%item%"
list-empty: "&7このワールドには禁止アイテムはありません。"
list-all-header: "&e--- 全世界の禁止アイテムリスト ---"
list-world-format: "&b%world%&f: &7%items%"
# Help messages
help-header: "&e======= &bNotItem Help &e======="
help-add: "&b/notitem add [world | all] [item] &7- 禁止アイテムを追加 (省略時: all / 手持ちのアイテム)"
help-remove: "&b/notitem remove [world | all] [item] &7- 禁止アイテムを削除 (省略時: all / 手持ちのアイテム)"
help-list: "&b/notitem list [world | all] &7- 禁止リストを表示"
help-gui: "&b/notitem gui [world | all] &7- GUIで禁止アイテムを管理 (省略時: all)"
help-reload: "&b/notitem reload &7- 設定を再読み込み"
help-footer: "&e============================"
# GUI
gui-title: "&8禁止アイテム設定: &5%world%"
gui-saved: "&a%world% の禁止リストを保存しました。"
gui-overflow: "&eGUIに表示しきれない %count% 件のアイテムがあります。これらは /notitem remove で個別に削除できます。"
language.yml (example: English)
# Message language file
# lang-version is managed by the plugin. Do not edit it.
lang-version: 1
prefix: "&7[&cNotItem&7] &r"
item-removed: "&e%item%&r is not allowed in &e%world%&r and has been removed."
reload-success: "&aConfiguration reloaded successfully."
no-permission: "&cYou do not have permission."
usage: "&eUsage: /notitem <add | remove | list | gui | reload>"
item-added: "&aAdded %item% to the restricted list of %world%."
item-already-listed: "&e%item% is already in the restricted list of %world%."
item-removed-list: "&eRemoved %item% from the restricted list of %world%."
item-not-listed: "&e%item% is not in the restricted list of %world%."
invalid-material: "&cInvalid item name."
invalid-world: "&cInvalid world name. (use 'all' or an existing world)"
no-held-item: "&cYou are not holding an item. Specify an item name or hold one in your hand."
player-only: "&cThis command can only be used by players."
save-failed: "&cFailed to save the configuration file. Check the console."
# List command
list-header: "&e--- Restricted Items (%world%) ---"
list-item: "&7- &f%item%"
list-empty: "&7No restricted items in this world."
list-all-header: "&e--- Global Restricted Items ---"
list-world-format: "&b%world%&f: &7%items%"
# Help messages
help-header: "&e======= &bNotItem Help &e======="
help-add: "&b/notitem add [world | all] [item] &7- Add a restricted item (default: all / held item)"
help-remove: "&b/notitem remove [world | all] [item] &7- Remove a restricted item (default: all / held item)"
help-list: "&b/notitem list [world | all] &7- Show restricted items"
help-gui: "&b/notitem gui [world | all] &7- Manage restricted items via GUI (default: all)"
help-reload: "&b/notitem reload &7- Reload configuration"
help-footer: "&e============================"
# GUI
gui-title: "&8Restricted Items: &5%world%"
gui-saved: "&aSaved the restricted list of %world%."
gui-overflow: "&e%count% item(s) do not fit in the GUI. Use /notitem remove to delete them individually."
To switch the plugin language to English, replace the contents of language.yml with the example above and run /notitem reload.
Updating from an older version
Just replace the jar and restart (or reload) the server. On first start the plugin:
- adds the new keys to
config.ymlandlanguage.yml(your existing values are kept) - updates messages that are still the old defaults to the new wording; messages you customized are not touched
- keeps a backup of the previous files as
config.yml.bakandlanguage.yml.bak - restores restricted lists of worlds whose names contain dots, which older versions saved incorrectly
Changes since 1.0.0
- New:
/notitem add/removeshortcuts (held item, defaultall),guiopensallby default - New:
notitem.bypasspermission,scan-interval-ticksandmessage-cooldown-msoptions - New: shulker box contents, armor, off-hand and cursor are checked
- Fixed: restricted items beyond 54 were lost when closing the GUI
- Fixed: items could still be used or picked up for a moment; events are now cancelled
- Fixed: wrong messages when adding an already listed item / removing an unlisted one
- Fixed: worlds with dots in their name were not handled correctly
- Fixed: too many "item removed" messages when clicking repeatedly
- Runs on Java 8+ again (built as Java 8 bytecode) and supports Minecraft 1.13 – 1.21.x
Compatibility
- Server: Spigot / Paper 1.13 – 1.21.x
- Java: 8 or higher (the jar is built as Java 8 bytecode, so it also runs on newer Java)
- Built against the Spigot API 1.20.1 with
api-version: 1.13
The source is compile-checked against the Spigot API 1.13.2, 1.16.5, 1.19.4 and 1.21.4 in CI. Minecraft versions other than 1.20.1 are not actively tested on a live server.
Notes
- This plugin does not use NMS or version-specific code.
- Designed to be lightweight and safe for long-term server operation.
- Works best on Paper / Spigot-based servers.
日本語説明
NotItem は、特定のワールド(または全ワールド)で特定のアイテムの所持・使用を制限できる、軽量な Minecraft サーバー用プラグインです。 GUI ベースの直感的な管理により、アイテム ID を調べることなく簡単に制限設定を行えます。
ロビーサーバー、アドベンチャーマップ、管理されたサバイバル環境など、 アイテム制御が必要なあらゆるサーバーに最適です。
主な機能
- ワールド別・全ワールド共通(
all)のアイテム制限に対応 /notitem guiによる GUI 管理(アイテム ID 入力不要)/notitem addだけで 手に持っているアイテムを禁止リストに追加- アイテムの取得・移動・ドラッグ・クラフト・使用を検知し、即座に削除・キャンセル
- 防具・オフハンド・カーソル・シュルカーボックスの中身も対象
notitem.bypass権限を持つプレイヤー(デフォルトは OP)は制限対象外language.ymlによる完全なメッセージカスタマイズ対応- 連打時の「削除しました」通知を自動的に間引き
- 旧バージョンの
config.yml/language.ymlを自動で更新
コマンドと権限
コマンド
/notitem gui [world | all] - GUI で禁止アイテムを管理 (省略時: all)
/notitem list [world | all] - 禁止アイテム一覧を表示
/notitem add [world | all] [item] - 禁止アイテムを追加
/notitem remove [world | all] [item] - 禁止アイテムを削除
/notitem reload - config.yml と language.yml を再読み込み
add / remove の省略形:
| コマンド | 動作 |
|---|---|
/notitem add |
メインハンドに持っているアイテムを all に追加 |
/notitem add <world> |
持っているアイテムを <world> に追加 |
/notitem add <item> |
<item> を all に追加(ワールド名として解決できない場合) |
/notitem add <world> <item> |
<item> を <world> に追加 |
remove も同様です。<world> は all または存在するワールド名を指定してください。
権限
| 権限 | 説明 | デフォルト |
|---|---|---|
notitem.admin |
/notitem の全コマンドを使用 |
OP |
notitem.bypass |
アイテム制限の対象外になる | OP |
設定ファイル
config.yml
# "all" は全ワールドに適用されます
restricted-items:
world:
- TNT
- BEDROCK
all:
- COMMAND_BLOCK
# 所持品を定期チェックする間隔(tick)。20 = 1秒、0 = 無効
scan-interval-ticks: 20
# 同じアイテムの「削除しました」通知の最小間隔(ミリ秒)
message-cooldown-ms: 3000
world の部分は実際のワールド名に置き換えてください。all は全ワールド共通です。
survival.nether のようにドットを含むワールド名にも対応しています。
language.yml
デフォルトは日本語です。全文は上の英語セクションの language.yml (default: Japanese) を参照してください。
英語に切り替えるには、language.yml (example: English) の内容に置き換えて /notitem reload を実行します。
旧バージョンからのアップデート
jar を差し替えてサーバーを再起動(または reload)するだけです。初回起動時に次の処理を自動で行います。
config.ymlとlanguage.ymlに新しい項目を追加(既存の値は保持)- 旧バージョンの既定のままのメッセージだけを新しい文言に更新(自分で書き換えたメッセージは変更しません)
- 更新前のファイルを
config.yml.bak/language.yml.bakとして保存 - 旧バージョンで正しく保存されなかった、ドットを含むワールド名の設定を復元
1.0.0 からの変更点
- 追加:
/notitem add/removeの省略形(手持ちのアイテム、省略時はall)、guiは省略時allを開く - 追加:
notitem.bypass権限、scan-interval-ticks/message-cooldown-ms設定 - 追加: シュルカーボックスの中身・防具・オフハンド・カーソルのチェック
- 修正: GUI を閉じると 54 件を超える禁止アイテムが失われる問題
- 修正: アイテムの取得・使用が一瞬通ってしまう問題(イベントをキャンセルするよう変更)
- 修正: 登録済みアイテムの追加・未登録アイテムの削除時のメッセージ
- 修正: ドットを含むワールド名が正しく扱われない問題
- 修正: 連打時に通知が大量に出る問題
- Java 8 以上で動作(Java 8 向けにビルド)。Minecraft 1.13 – 1.21.x に対応
対応環境
- サーバー: Spigot / Paper 1.13 – 1.21.x
- Java: 8 以上(Java 8 向けのバイトコードでビルドしているため、新しい Java でも動作します)
- Spigot API 1.20.1 でビルド(
api-version: 1.13)
Spigot API 1.13.2 / 1.16.5 / 1.19.4 / 1.21.4 に対するコンパイルを CI で確認しています。 1.20.1 以外のバージョンについては、実サーバーでの継続的な検証は行っていません。
デフォルト言語:日本語(language.yml で自由に変更可能)


