Advanced Action Logger for Minecraft Servers
The ultimate solution for tracking, inspecting, and rolling back player activity with performance in mind.
![]() |
![]() |
![]() |
|---|
- Full player action tracking – from block changes to chat, PvP, containers and more.
- True multi-threaded engine – keeps your main server thread untouched, even under pressure.
- Tested on networks with over 400 players online.
- Version support from 1.8 to 1.21.11.
- Folia-compatible for next-gen server performance.
- Active support via Discord
- You can translate all items into the language of your choice, from Spanish to Chinese and beyond.
- Thanks to Item Indexing and Block Indexing, storage usage is reduced by up to 60% compared to other competitors.
- ItemsAdder and Nexo support.
- Restore /spt restore undo restore /spt undo restore chests forced /spt invrestore.
- WorldEdit support BETA for 1.21.X.
Optimized for Performance
- Rewrites database queries to handle thousands of logs per second.
- Choose between SQLite or MySQL.
- Rollback without chunk reloads or server lag.
Plug & Play Setup
- No config needed to get started.
- Multi-world support built-in.
- Simple and ready-to-use API for developers.
Preview, Restore and Rollback Control
- Target by player, action type, block type, radius, or world.
- Preview changes before applying.
- Exclude players or block types from any operation.
- When you run the restoration for the first time, it will be considered a preview. You need to use /spt restore confirm to apply it permanently.
Intelligent Inspection Tools
- Visual tool for checking block/entity interaction history.
- Click to see who placed, broke, interacted, or modified.
- Container inspection support: chests, barrels, hoppers, furnaces, etc.
- Special Inspect Lines for Custom Blocks: Designed to provide human-readable insights for blocks with custom data.
- Shows all 4 lines of sign text directly when inspecting.
Suspicious Activity Detection System
- Helps staff detect suspicious player behavior automatically.
- Detects when a player uses
/tpacceptand dies shortly after. - Useful for identifying patterns such as TPA Kill.
Example
Tested Performance with 200 players on mc.hycraft.us
More images
Timeout 10m
Timeout 30m
World & Environment
- Player block break.
- Player block place.
- Lava and water bucket usage by players.
- Explosions (TNT, creepers, ghasts).
- Piston and entity-based block movement.
- Trampled crops.
- Leaves decay.
- Tree grows.
- Chorus flower, vines, sculks, amethyst, and bamboo spread.
- Fire burn and ignite blocks.
- Portal creation blocks.
- Sign edits and place with detailed lines.
Player Interaction
- Accessing containers and moving items
- Crafting items
- Extracting items from furnaces
- Enchanting items
- Dropping items
- Picking up items
- Logging in and out
- Tracking player deaths
- Killing entities
- Logging chat and commands
- Shooting projectiles
- Hitting entities with projectiles
- Mounting and dismounting entities
- Breaking item frames
- Flowing liquids
- Log consume items
- Teleports and cause
- Smithing table use
- Gamemode change
- Totem ressurrect
- XP change
- Money variation
- Login and logout with session times.
- Placing a book on a lectern.
- Placing items on a campfire.
- Placing a book in a chiseled bookshelf.
- Placing a disc in a jukebox.
- Filling a cauldron with water.
- ArmorStand manipulate.
Entities Data
-
Villagers
- Restored with their level, profession, experience, and custom trades.
-
Pets
- Dogs, cats, parrots, and other tamed creatures now retain their name, owner, and state.
-
Hostile & passive mobs
- Restored with their equipment, attributes, and AI data.
Extras
- Automatic log cleanup and expiration.
- Shop GUI buy and sell actions.
- XPlayerKits claim or give kits, with player give kit.
- Nexo custom blocks, furniture place or break and custom ítem names.
- ItemsAdder custom blocks, furniture place or break and custom ítem names.
Preview logs









Intelligent Item Indexing
Avoids redundant data by referencing item definitions instead of saving them repeatedly. This:
- Reduces database size drastically.
- Speeds up queries and I/O.
- Improves backup performance.
Block Indexing
Uses getAsString() from BlockData to assign each unique block state an ID.
Instead of saving the full data every time, only the ID is referenced.
- Reduces database size
- Faster queries and I/O
- Smaller backups
Ultra-Optimized Save Queries
Custom storage layer built for high-volume servers:
- Batch writing to reduce disk access.
- Transactional safety to avoid locking issues.
- Low-latency writes even under stress.
Special Inspect Lines for Custom Blocks
Designed to provide human-readable insights for blocks with custom data.
- Shows all 4 lines of sign text directly when inspecting.
Suspicious activity detection system
A feature has been added to help staff detect suspicious behavior, such as "TPA Kill". The system will automatically detect when a player uses /tpaccept and then dies shortly after, allowing for better automated moderation.
Example
/spt lookup
- The core of your investigation system.
- Filter by time (minutes, hours, days).
- Filter by action type (placed, broken, container access, etc.).
- Paginated results with clean navigation.
Example:
/spt lookup a:action_break time:24h page:2 user:InsiderAnh
Shows page 2 of block placements from the past 24 hours.
Image
/spt inspect
- Click on any block to instantly see who placed, broke, or modified it.
- No need to check logs manually, results appear in chat immediately.
- Perfect for tracking grief or edits in a specific location.
- Includes chest inspect support to see item transfers in containers.
- Each interaction is timestamped and tied to the responsible player.
- Ability to Right-click (place) a block in a location to see what block was removed there.
- Ability to Right-click (place) a block inside water or lava block to see who placed the original block.
Image
![]() |
![]() |
|---|

StellarProtect is an active and growing project.
We appreciate your suggestions, bug reports, and reviews.
Join the Discord to contribute and help shape the future of this plugin!
**Thank you for supporting StellarProtect!**
Many servers already trust StellarProtect, and we are truly grateful for that trust.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 | ||||
| 4h ago | 1 |
- Support to 26.3
Fixed:
- Fixed NPE in Brew Event with Jobs.
- If you're using this plugin in production, it's recommended to join our [Discord](https://discord.com/invite/4R9teKVcbM) community for fast support and access to Dev Builds.**
### Breaking Changes
- Indexed
log_entriesschema:** Added indexed columns (block_id,old_block_id,item_id,amount,entity_type,chunk_key). Database migration is fully automatic and backward-compatible, keepingextra_jsonintact. - New tables:** Automated creation of
inv_snapshotsandinv_txnstables on startup. BlockRestorerefactor:** Converted to a concrete class with multi-tiered fallback reflection calls.- Version tolerance:** Unrecognized sub-versions now resolve dynamically via
resolveClosest(), defaulting tov26_1_R2instead of disabling the plugin. - Deprecated commands:**
/sp invrollbackand/sp irsare now legacy aliases pointing directly to/sp restore #containers. - New query filters:** Added support for
b:,ench:,biome:,ch:,tool:,lore:,display:,within:,sort:,agg:, andformat:.
### New Features
- Advanced restoration engine:**
oldData) to properly revert fluid and state transitions (water/lava, sculk). Complete NBT capture and restoration on tile entities (chests, signs, spawners, shulkers, lecterns) via internal NbtUtils.- Unified
/sp restore:**
#blocks, #containers, #items (drop/pickup/craft/consume/enchant), #kills (killed entities), and #entities (composite scope). Omitting flags restores all actions within range.- Dedicated inventory restore:**
/sp restore-items (supports #undo to return dropped items). Unfit items drop safely at player feet if the inventory is full.- Expanded event logging:**
BlockFadeEvent (ice, snow, fire, coral). Added logging for raids, brewing stands, dispensers, workstation blocks, and explosion-damaged sculk.- Automated inventory snapshots:**
- Data export & analytics:**
/sp export to save filtered logs to JSON/CSV on disk, and /sp stats to view top active players, blocks, and actions over time.### Improvements & Fixes
- Critical fluid restoration fix:**
- Double chest delta fix:**
ChestRollbackSessionManager now synchronizes inventory deltas across both chest halves.- NBT persistence fix:**
NBT-API integration.- Block placement rollback fix:**
oldData to reliably restore whatever block occupied the space previously.- Removed duplicate listeners:**
PickUpDropListener no longer creates redundant drop entries covered by CraftListener.- Legacy 1.8 model hash fix:**
modelDataHashCode returning static 0 values on custom items.- Empty event listeners resolved:**
- 5x to 50x faster queries:**
- Optimized caching & zero extra dependencies:**
BlocksCache and ItemsCache run on amortized O(1) time via hint cursors, backed by custom internal collections (IntSet) without external libraries.- Join the community on:** **[Discord](https://discord.com/invite/4R9teKVcbM)**
- If you want to support the project:** **[Patreon](https://www.patreon.com/c/insideranh)**
- 26.1 version detection.
- Support to 26.1 and 26.1.2
- Fixed Purpur incompatibilities that caused the log file to grow excessively due to incorrect property detection.
- Fixed incompatibilities with Minecraft 1.21.11 that caused incorrect restorations. From this update onward, everything will be properly registered.
## Improvements & Fixes
- Customizable
<location>format:**
<location> format, as requested by BigBeacon.- Improved HIDE_ENCHANTS item flag detection:**
HIDE_ENCHANTS is applied.- Critical fix for XEntityType TNT logging:**
XEntityType that could cause TNT logs to not be recorded.- Join the community on:** [Discord](https://discord.com/invite/4R9teKVcbM)
- If you want to support the project:** [Patreon](https://www.patreon.com/c/insideranh)
## Improvements & Fixes
- Optimized WorldEdit queue system:**
- Improved storage usage for new logs:**
- Fix for XP log disabling:**
- New placeholder for inspector mode status:**
%spt_inspect_enabled% placeholder to check whether Inspector mode is currently enabled.- Enhanced
/spt inspectcommand support:**
/spt inspect command can now be executed from console when specifying a target player. In-game usage now supports inspecting other players with the permission
stellarprotect.inspect.others.- Improved
/spt inspectresponse time on large databases:**
- Fixed several minor issues related to log registration.**
- Added support 1.21.11.**
- Join the community on:** [Discord](https://discord.com/invite/4R9teKVcbM)
- If you want to support the project:** [Patreon](https://www.patreon.com/c/insideranh)
### **Improvements & Fixes**
- New support for i: filter with entities:**
i:cow or i:allay when searching logs.- Fix for Minecraft 1.21.4:**
- Improved entity restoration for legacy versions:**
- Added support for CopperChest 1.21.10:**
- New block scanners for propagated explosions:**
- Critical fix when reading restore and lookup logs:**
If you experienced incorrect restorations or incomplete lookups, updating to this version will automatically fix log reading.
- Beta support for WorldEdit on 1.21.X:**
For FAWE/Async WorldEdit, you must enable the corresponding option in the config.
- io.github.insideranh.stellarprotect.nms.v1_21.worldedit.StellarLogger**
<details>
<summary>FastAsyncWorldEdit</summary>

</details>
- Partial compatibility with TreeCutter.**
- Join the community on:** [**Discord**](https://discord.com/invite/4R9teKVcbM)
- If you want to support the project:** [**Patreon**](https://www.patreon.com/c/insideranh)
## **Improvements & Fixes**
### **Fixed Mount and Dismount Logs**
Resolved an issue where entity mount and dismount actions were not being logged correctly.
### **New Leash and Unleash Logging**
Actions involving attaching or removing a leash from entities are now fully logged.
### **New Command to Revert an Accidental
/spt undo**A new command was introduced to undo accidental uses of
/spt restore, preventing unwanted restorations.### **Inventory Restoration Commands**
Added
/spt invrestore to restore only inventory-based containers such as chests and shulkers. This command works alongside
/spt irs, which enables a mode that lets you click containers to restore them. ⚠️ **Use with caution:**
This is a new command intended as a last-resort tool, similar to
/spt undo. Use it only when normal rollback or entity restoration systems cannot resolve the issue.
### **Folia 1.21.8 Compatibility Fix**
Resolved teleport and task compatibility issues on Folia 1.21.8.
### **Fallback Serializer for Legacy Versions**
Added an auxiliary serializer for old Minecraft versions to correctly handle legacy NBT formats.
### **Entity Restoration for Older Versions**
The entity restoration system is now supported on:
- Minecraft 1.8.8**
- Minecraft 1.12**
- Minecraft 1.13**
### **Entity Fix for 1.21 Explosions**
Fixed inconsistent entity data produced by explosions on Minecraft 1.21.
### **Join the community on:** **[Discord](https://discord.com/invite/4R9teKVcbM)**
### **Support the project:** **[Patreon](https://www.patreon.com/c/insideranh)**
- Added an optimization to detect when
noneorallis used inside thedisable_typesmethod.
- Added the ability to disable **water** or **lava** tracking individually by using
WATERandLAVAinside thedisable_typessection.
- Fixed and restored compatibility with **Minecraft 1.21 R0**.
- Added proper support for blocks when using the
i:argument, fixing incorrect behavior with certain block inputs.
- Improved filter detection when using **multiple blocks or items**, ensuring more accurate parsing and command suggestions.
### Storage Fix
- Removed certain logs that caused excessive storage usage.
### Folia & Paper Teleport Fix
- Fixed an issue affecting **teleportation** on **Folia** and recent **Paper** versions.
- Added a
=pistonfilter for **Block Break** and **Block Place** logs, allowing you to ignore actions triggered by pistons.
- Join the community on:** [**Discord**](https://discord.com/invite/4R9teKVcbM)
- If you like my project and want to support me:** [**Patreon**](https://www.patreon.com/c/insideranh)
- Fixed:**
ConcurrentModificationExceptionin **BlockSourceCache**.
### Join the community on: [**Discord**](https://discord.com/invite/4R9teKVcbM)
### Support the project: [**Patreon**](https://www.patreon.com/c/insideranh)
Right now, we already log more data than other plugins, although the restoration system is still being improved.
## Improvements & Fixes
- Fixed:** Resolved an **NPE issue** when logging colored **Shulker Boxes**.
- Improved Fire, Lava, and Water Tracking:**
- Enhanced Restoration Accuracy:**
- User-based Fire Restoration:**
This helps identify the true origin of player-caused burns or environmental fire spread.
- Filter Suggestions:**
- Introduced the new Entity Restoration System (BETA).**
This includes:
- Villagers** → Restored with their level, profession, experience, and custom trades.
- Pets** → Dogs, cats, parrots, and other tamed creatures now retain their name, owner, and state.
- Hostile & passive mobs** → Restored with their equipment, attributes, and AI data.
This system has been completely rewritten from scratch to achieve a far more accurate and faithful restoration of entity states.
As it’s still in **BETA**, feedback and bug reports are highly appreciated on the [official Discord server](https://discord.com/invite/4R9teKVcbM).
- Added the new
#entitieshashtag**
### **Improvements**
- Enhanced **block data string handling** to prevent collisions between complex NBT structures (e.g., custom heads, banners, decorated pots, etc.).
- Optimized **mixed rollback performance**, improving stability and processing time when restoring both blocks and entities together.
### **Fixed**
- Fixed a long-standing issue with **container item logging** (including chests, shulkers, furnaces, hoppers, droppers, barrels, and more).
- Adjusted **block data handling** to minimize conflicts during fast or concurrent restorations.
<details>
<summary>Entity Restoration (BETA) — Click to preview</summary>

</details>
### Join the community
- Discord:** [Join here](https://discord.com/invite/4R9teKVcbM)
- Support on Patreon:** [Become a patron](https://www.patreon.com/c/insideranh)
- Improved block indexing to prevent collisions on servers with hundreds of records per second, providing better overall **optimization**.
### Removed:
- Removed unused NMS classes.
### Join the community on: **[Discord](https://discord.com/invite/4R9teKVcbM)**
### If you like my project and want to support me: **[Patreon](https://www.patreon.com/c/insideranh)**
- Fixed startup error with **Spigot 1.21.10**
### Join the community on: **[Discord](https://discord.com/invite/4R9teKVcbM)**
### If you like my project and want to support me: **[Patreon](https://www.patreon.com/c/insideranh)**
- Added support for **Minecraft 1.21.9** and **Minecraft 1.21.10**
### Fixed:
- Fixed a **NullPointerException** in **Nexo** and **ItemAdder** hooks when handling the **BlockIgniteEvent**
> **I'm preparing a pretty big update, but it was necessary to add support for version 1.21.10, so I’ve updated it. In a few days, you’ll see the new version.**
### Join the community on: **[Discord](https://discord.com/invite/4R9teKVcbM)**
### If you like my project and want to support me: **[Patreon](https://www.patreon.com/c/insideranh)**
- Hashtag filters** to customize rollback actions:
#verbose→ shows extra information when restoring.#silent→ displays minimal messages.#preview→ previews what the plugin will do before applying changes.- Rollback sessions** (BETA), allowing more controlled restorations.
- #we filter** (BETA) to regenerate or lookup inside a WorldEdit selection.
- (Future updates will expand its usage).*
### Improvements
- Improved **entity name detection**.
- Improved **radius filters**, now supporting world-based filtering:
r:#world→ affects the whole world.r:#world,10,10,10→ affects a 10-block radius around specific coords.r:10→ affects X/Y/Z radius.r:10,20→ affects X/Z radius with height Y=20.- Improved **time filters**, supporting new formats with commas and dots:
1m30s2.50h1h-2h1d,7h
### Fixed
- Fixed the **/spt memory** command.
- Fixed several **NullPointerException (NPE)** issues.
- Restored **support for Minecraft 1.19.3**.

### Join the community on: [**Discord**](https://discord.com/invite/4R9teKVcbM)
If you like my project and want to support me: [**Patreon**](https://www.patreon.com/c/insideranh)
- Added **growth logs** for multiple blocks: trees, chorus flower, vines, sculks, amethyst, and bamboo.
- Added **Armor Stand Manipulate** to the logging system.
- New **lookup menu** to view items you place or remove from an armor stand.
- Added the ability to **Right-click (place) a block** in a location to see what block was removed there.
- Added the ability to **Right-click (place) a block inside another block** (e.g., dirt in water) to see who placed the original block.
### **Improvements:**
- Improved **fire rollback logging** to detect all cases and restore them correctly.
- Changed the **BlockTracker** to use *bitwise operations*, just like AdjacentType. This makes operations run in **O(1)** instead of **O(n)\*length()**, providing incredible optimizations compared to competitors.
### **Fixed:**
- Fixed **tab complete** for actions, which wasn’t detecting correctly and caused lookup to fail when using 2 actions.
- Fixed an issue where the **startswith** condition wasn’t being detected properly, allowing unwanted logs to bypass the filter.
- Added **growth logs** for multiple blocks: trees, chorus flower, vines, sculks, amethyst, and bamboo.
- Added **Armor Stand Manipulate** to the logging system.
- New **lookup menu** to view items you place or remove from an armor stand.
- Added the ability to **Right-click (place) a block** in a location to see what block was removed there.
- Added the ability to **Right-click (place) a block inside another block** (e.g., dirt in water) to see who placed the original block.
### **Improvements:**
- Improved **fire rollback logging** to detect all cases and restore them correctly.
- Changed the **BlockTracker** to use *bitwise operations*, just like AdjacentType. This makes operations run in **O(1)** instead of **O(n)\*length()**, providing incredible optimizations compared to competitors.
### **Fixed:**
- Fixed **tab complete** for actions, which wasn’t detecting correctly and caused lookup to fail when using 2 actions.
- Fixed an issue where the **startswith** condition wasn’t being detected properly, allowing unwanted logs to bypass the filter.
- Added an **automatic preview** when performing a rollback. You must now use */spt restore confirm* to apply the changes after reviewing the preview.
- Added **translations** to the restoration process.
- Added **experimental compatibility with ItemsAdder**. If you notice any errors or missing features, please report them on our Discord.
### **Improvements**
- Improved the **Vault hook** detection to avoid errors when counting currency.
- Improved detection of **water and lava**, solving cases where they were not restored correctly.
### **Fixed**
- Fixed several detection issues on **Minecraft 1.8.8**.
- Fixed entity detections on **Minecraft 1.8.8**.
- Fixed an issue with detecting **model data** in Nexo.
- Added an **automatic preview** when performing a rollback. You must now use */spt restore confirm* to apply the changes after reviewing the preview.
- Added **translations** to the restoration process.
- Added **experimental compatibility with ItemsAdder**. If you notice any errors or missing features, please report them on our Discord.
### **Improvements**
- Improved the **Vault hook** detection to avoid errors when counting currency.
- Improved detection of **water and lava**, solving cases where they were not restored correctly.
### **Fixed**
- Fixed several detection issues on **Minecraft 1.8.8**.
- Fixed entity detections on **Minecraft 1.8.8**.
- Fixed an issue with detecting **model data** in Nexo.
- Added **Simplified Chinese (zh-CN)** language support and renamed existing Traditional Chinese to the standard name **zh-TW**. Thanks to *virgil698*. Pull [#2](https://github.com/InsiderAnh/StellarProtect/pull/2)
- Added the ability to translate and edit the
/spt helpcommand. Thanks to *LeCraft2Ouf*. Commit [#c2a845f](https://github.com/InsiderAnh/StellarProtect/commit/c2a845f11b943e1eeebd0b93e8edc6a414cdd030) - Improved the item tracker in chests by differentiating items with different **custom model data**.
- Added compatibility with **Nexo items**, now showing the correct item names in transactions and inspections (instead of displaying “Paper”).
### **Fixes**
- Fixed an issue where breaking a furniture was not being registered correctly.
- Fixed a false economy log triggered on login during the first Vault check.
- Added **Simplified Chinese (zh-CN)** language support and renamed existing Traditional Chinese to the standard name **zh-TW**. Thanks to *virgil698*. Pull [#2](https://github.com/InsiderAnh/StellarProtect/pull/2)
- Added the ability to translate and edit the
/spt helpcommand. Thanks to *LeCraft2Ouf*. Commit [#c2a845f](https://github.com/InsiderAnh/StellarProtect/commit/c2a845f11b943e1eeebd0b93e8edc6a414cdd030) - Improved the item tracker in chests by differentiating items with different **custom model data**.
- Added compatibility with **Nexo items**, now showing the correct item names in transactions and inspections (instead of displaying “Paper”).
### **Fixes**
- Fixed an issue where breaking a furniture was not being registered correctly.
- Fixed a false economy log triggered on login during the first Vault check.
- Added compatibility with **Nexo custom blocks** to log when a nexo block is placed or removed.
- Added compatibility with **Nexo furniture** to detect when a furniture is placed or removed.
- Added a **hook with XPlayerKits** to log when a kit is claimed or given through the
/xkits give,/xkits claim, or inventory claim.
### **Improvements:**
- Added a **fallback for the radius argument** in the
/restorecommand to prevent errors. - Added the **hooks.yml** file to enable or disable these and future hooks. We are open to suggestions!
### **Fixed:**
- Fixed a **NullPointerException** when saving item templates in some cases.
- Added compatibility with **Nexo custom blocks** to log when a nexo block is placed or removed.
- Added compatibility with **Nexo furniture** to detect when a furniture is placed or removed.
- Added a **hook with XPlayerKits** to log when a kit is claimed or given through the
/xkits give,/xkits claim, or inventory claim.
### **Improvements:**
- Added a **fallback for the radius argument** in the
/restorecommand to prevent errors. - Added the **hooks.yml** file to enable or disable these and future hooks. We are open to suggestions!
### **Fixed:**
- Fixed a **NullPointerException** when saving item templates in some cases.
- Fixed auto-commit error in some cases.
- Fixed auto-commit error in some cases.
- Now logs not only directly broken blocks by players, but also blocks affected when breaking the ones below them (cactus, sugar cane, bamboo, etc.).
- Added a menu to view items in more detail, as well as inventory transactions with exactly the same items.
- Added grouping for pickup and drops. Minecraft sometimes fires pickup events one by one, which could generate up to 64 logs for a single stack.
- Now identical items being picked up are grouped, reducing log count and storage usage.
- Added a new filter. Often you need to search for an item by displayname to go directly; now you can with the argument **
mi** and its variations. - Added the **
me** argument to exclude items you don’t want. - New permission to use inventory view **stellarprotect.view**.
### **Fixed**
- Fixed an issue with displaying some commands or chat messages caused by a parser running when it wasn’t needed.
<details>
<summary>Examples</summary>
mi:[display:&aAmazing sword]
mi:[lore:&7The best sword]
mi:diamond_sword
me:[display:&aAmazing sword]
me:[lore:&7The best sword]
me:diamond_sword
</details>
<details>
<summary>Images</summary>




</details>
- Now logs not only directly broken blocks by players, but also blocks affected when breaking the ones below them (cactus, sugar cane, bamboo, etc.).
- Added a menu to view items in more detail, as well as inventory transactions with exactly the same items.
- Added grouping for pickup and drops. Minecraft sometimes fires pickup events one by one, which could generate up to 64 logs for a single stack.
- Now identical items being picked up are grouped, reducing log count and storage usage.
- Added a new filter. Often you need to search for an item by displayname to go directly; now you can with the argument **
mi** and its variations. - Added the **
me** argument to exclude items you don’t want.
### **Fixed**
- Fixed an issue with displaying some commands or chat messages caused by a parser running when it wasn’t needed.
<details>
<summary>Examples</summary>
mi:[display:&aAmazing sword]
mi:[lore:&7The best sword]
mi:diamond_sword
me:[display:&aAmazing sword]
me:[lore:&7The best sword]
me:diamond_sword
</details>
<details>
<summary>Images</summary>




</details>




