Описание
# OpenInv – Ultimate Multi-World Inventory Suite
**OpenInv** is a professional-grade administration plugin designed for Paper, Spigot, and Bukkit servers. It provides staff members with absolute control over player data through a sleek, interactive GUI system. Whether a player is online in another world or completely offline, OpenInv ensures you can always manage their items with precision and security.
---
## What’s New in v1.4.2
This update brings major features for history, logging, private vaults, and autosaves.
- **New `/openinv drop` command** allows admins to force-drop items from a player's inventory, Ender Chest, or both.
- **New `/openinv clear` command** allows admins to clear inventories, armor, or Ender Chests with confirmable execution.
- **Rewritten `/openinv history` command** now uses a redesigned GUI that supports multiple snapshots in a single interface.
- **Private Vault support** for the PriVault plugin — OpenInv can now manage private vault contents when PriVault is installed.
- **Config rewrite:** `config.yml` has been redesigned for better clarity and easier customization.
- **Offline snapshot preview** support lets staff view saved history even when the target player is offline.
- **Autosave enhancements** now save player inventory snapshots on both join and quit.
---
## Key Features
- GUI-based inventory and Ender Chest management for online and offline players.
- Snapshot history with preview, restore, and multi-snapshot browsing.
- Admin commands for `drop`, `clear`, `freeze`, `search`, and vault management.
- PriVault integration for private vault inspection and snapshots.
- Permission-driven view/modify/exempt system with flexible role control.
- Async database support for SQLite/MySQL and full localization.
---
## Core Features
### Advanced GUI Management
- **Live Interactive Editing:** Modify player inventories in real time with a responsive GUI.
- **Native Multi-World Support:** Inspect player data across worlds without bridges or external tools.
- **Shulker Box Peeking:** Right-click any Shulker Box in the GUI to preview its contents instantly.
- **Private Vault Management:** When PriVault is installed, OpenInv can open and manage player private vaults as a first-class data source.
### Snapshot Time Machine
- **Automatic Backups:** OpenInv automatically saves inventory snapshots in the background.
- **Join/Quit Autosave:** The plugin saves snapshots when players join and when they quit.
- **Optimized History GUI:** The history interface now displays multiple snapshots in one window, making recovery faster.
- **Offline Preview:** Preview saved snapshots even if the player is currently offline.
### Security & Permissions
- **Master Modify Key:** Only users with `openinv.modify` can move items in GUIs.
- **Role-Based Exemptions:** `openinv.exempt` protects staff and VIP inventories from being opened by lower-ranked staff.
- **Override Support:** `openinv.override` allows trusted admins to bypass exemption protection in emergencies.
- **Command Logging:** Every OpenInv command can be recorded for staff accountability.
### Investigation & Admin Tools
- **Freeze Inventories:** Lock a player's inventory using `/openinv freeze `.
- **Global Item Search:** Search a player's inventory for illegal or hidden items with `/openinv search `.
- **Snapshot Preview:** Preview saved inventory states directly from IDs.
- **Vault Inspection:** Manage player vaults and view vault backups when PriVault is available.
---
## Commands Cheat Sheet
### Base Commands & Aliases
| Command | Description |
| :--- | :--- |
| `/openinv` | Main OpenInv command with access to all subcommands. |
| `/invsee` | Alias for `/openinv`. |
| `/inv ` | Shortcut for `/openinv check` to open an online player's inventory. |
| `/invec ` | Shortcut for `/openinv echeck` to open an online player's Ender Chest. |
| `/offlineinv [world]` | Open an offline player's inventory. |
| `/offlineec [world]` | Open an offline player's Ender Chest. |
### Subcommands (`/openinv `)
| Subcommand | Description |
| :--- | :--- |
| `help` | Displays the help menu with hover descriptions. |
| `info` | Shows plugin information, version status, and quick links. |
| `check ` | Open the inventory of an online player. |
| `echeck ` | Open the Ender Chest of an online player. |
| `offlineinv [world]` | Open an offline player's inventory. |
| `offlineec [world]` | Open an offline player's Ender Chest. |
| `history ` | Open a player's unified snapshot history. |
| `search ` | Search a player's inventory for a specific item. |
| `freeze ` | Freeze a player's inventory so it cannot be used or moved. |
| `unfreeze ` | Unfreeze a player's inventory. |
| `preview ` | Preview a saved snapshot by ID. |
| `vault` | Open the player's private vault via PriVault integration. |
| `drop` | Force drop items from a player. |
| `clear` | Clear a target's inventory, armor, or Ender Chest. |
| `reload` | Reloads `config.yml`, `messages.yml`, and reconnects the database if needed. |
---
## Permissions Breakdown
### Global Access
- `openinv.*` — Grants access to every OpenInv command and feature.
- `openinv.admin` — Grants access to all admin-focused commands and actions.
### Usage Permissions
- `openinv.use` — Required to use the root command and `/openinv help`.
- `openinv.usen` — Used by the `/invsee` alias to access OpenInv features.
- `openinv.check` — Allows `/inv` and `/openinv check`.
- `openinv.enderchest` — Allows `/invec` and `/openinv echeck`.
- `openinv.offlinecheck` — Allows `/offlineinv`.
- `openinv.offlineecheck` — Allows `/offlineec`.
- `openinv.history` — Allows `/openinv history`.
- `openinv.search` — Allows `/openinv search`.
- `openinv.container` — Allows opening Shulker Boxes inside GUIs.
- `openinv.preview` — Allows `/openinv preview `.
- `openinv.clear` — Allows `/openinv clear`.
- `openinv.clear.all` — Allows `/openinv clear all`.
- `openinv.drop` — Allows `/openinv drop`.
- `openinv.drop.all` — Allows `/openinv drop all`.
- `openinv.vault` — Allows opening the vault selection menu.
- `openinv.vault.edit` — Allows editing a player's private vault.
- `openinv.vault.snapshot` — Allows viewing vault snapshots.
- `openinv.vault.restore` — Allows restoring vault snapshots.
- `openinv.silent` — Allows silent inventory operations.
- `openinv.freeze` — Allows `/openinv freeze`.
- `openinv.unfreeze` — Allows `/openinv unfreeze`.
- `openinv.self` — Allows viewing your own inventory/Ender Chest via GUI.
### Modification Permissions
- `openinv.modify` — Master permission for moving items in GUIs.
- `openinv.modify.*` — Grants both inventory and Ender Chest modification.
- `openinv.modify.inv` — Grants normal inventory modification.
- `openinv.modify.ec` — Grants Ender Chest modification.
### Protection & Exemptions
- `openinv.exempt` — Prevents others from opening your inventory.
- `openinv.override` — Bypasses `openinv.exempt` protection.
- `openinv.exempt.modify` — Prevents others from modifying your inventory.
- `openinv.override.modify` — Bypasses `openinv.exempt.modify` protection.
---
## Technical Details
- **Asynchronous Processing:** Background tasks such as database saves and offline loads run off the main server thread.
- **Database Support:** Local **SQLite** and networked **MySQL** are both supported.
- **Snapshot Cleanup:** Old snapshots can be auto-purged based on configuration settings.
- **Localization:** Includes support for over 20 language files and fully configurable messages.
- **Compatibility:** Works with Minecraft **1.16.x through 1.21.x** and requires **Java 17+**.
---
*Developed with ❤️ by INFIE03. Ensuring staff integrity and inventory security since 2025.*