▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
NotItem

NotItem

A simple plugin that makes it easy to create banned items in the chest menu

Оцените первым
150
3

NotItem

日本語の説明は ページ下部 にあります

!chest

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.yml from 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:

CommandEffect
/notitem addAdds 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

PermissionDescriptionDefault
notitem.adminUse all /notitem commandsOP
notitem.bypassNot affected by item restrictionsOP

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."


</details>

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.yml` and `language.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.bak` and `language.yml.bak`
* restores restricted lists of worlds whose names contain dots, which older versions saved incorrectly

### Changes since 1.0.0

* New: `/notitem add` / `remove` shortcuts (held item, default `all`), `gui` opens `all` by default
* New: `notitem.bypass` permission, `scan-interval-ticks` and `message-cooldown-ms` options
* 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

```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 で自由に変更可能)

Партнёрский материал

Сервер для плагина NotItem - как у профи

Плагин NotItem создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином NotItem для друзей можно за пару минут - BungeeHost всё уже подготовил.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.3.x26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x1.13.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки

Создатели

Детали

Лицензия:
Опубликован:10 месяцев назад
Обновлён:2 недели назад
Главная