
SmartSpawner
A GUI-based spawner plugin that generates items and experience without spawning mobs
This release expands GUI customization and improves the reliability of spawner management across different server environments.
What's New
- Added support for
custom player-head textureson buttons in the main and storage GUIs. - Custom textures can be applied to navigation, storage, experience, sorting, selling, and other configurable GUI buttons.
- Added a dedicated GUI layout guide with examples for configuring custom textures and conditional button styles.
Improvements
- Improved spawner removal from management menus, including spawners located in unloaded chunks.
- Related menus now close automatically when a spawner is removed, preventing players from interacting with outdated inventories.
- Improved the reliability of stacking and admin management actions while a spawner is being modified or removed.
- Improved nearby-spawner highlight cleanup and session handling.
- Refreshed the documentation website with clearer navigation, updated branding, and improved readability.
Compatibility
- Updated compatibility with newer SimpleClaimSystem releases.
- Updated compatibility with plugins using the latest NightCore release.
Developer API
- Added
removeSpawner(String spawnerId)to remove a SmartSpawner by its unique ID. - Added
removeSpawner(Location location)to remove a SmartSpawner at a specific location. - Both methods return a
CompletableFuture<Boolean>and complete after the spawner block and stored data have been removed, including when its chunk must be loaded first.
Fixes
- Fixed the
en_US_DonutSMP_v2language pack not being included under the expected resource path, which caused missing-resource warnings and prevented its language files from loading. - Prevented overlapping spawner actions from causing inconsistent spawner data.
- Prevented explosions and manual breaking from interfering with spawners already being removed.
- Improved menu behavior when a managed spawner is no longer available.
- Added support for
This release focuses on cleaner customization, improved performance, performance, and server compatibility.
What’s New
- Added configurable drop chances for Smart Spawners and natural spawners.
- Added an option to control sneak-breaking of spawner stacks.
- Added customizable button images for Bedrock Form UI.
- Spawner item names and lore can now be customized per entity.
- Added dedicated language customization for cross-server management GUIs.
Improvements
- Completely redesigned the language system with cleaner formatting, fewer small caps, less duplication, and more consistent messages.
- Improved item processing and overall performance.
Fixes
- Fixed large values loading incorrectly from YAML files.
- Fixed the sell confirmation menu on Folia and Canvas.
- Various stability and consistency fixes.
Important
- Minecraft server versions below 1.21.5 are no longer officially supported.
- Built-in German and Vietnamese language packs have been deprecated.
- Please review custom language and configuration files when updating.
New Features
New
/ss setCommandAdded a new admin command to quickly update SmartSpawner properties in-game.
Admins can now set:
- Stack size
- Spawn range
- Spawn delay
The command can be used on the spawner the player is looking at, or with exact world coordinates for console/admin use.
New Performance Settings
Added new performance options for loot generation. These settings help large stacked spawners run more smoothly by using a faster calculation method when extremely large amounts of loot are generated.
This is enabled by default and is recommended for most servers.
Improvements
Better Loot Generation Performance
Large spawner stacks now handle loot generation more efficiently, reducing heavy processing during big spawn cycles while keeping results realistic over time.
Improved Item Giving Behavior
The
/ss givecommand now handles full inventories more reliably. If the player does not have enough space, extra items will be dropped safely at their location instead of being lost or handled incorrectly.Clearer Configuration
The selling configuration has been renamed and reorganized to make it easier to understand.
The old
custom_economysection has been replaced withsell_integration, which better describes what the feature is used for.Compatibility Changes
ExcellentEconomy Support
SmartSpawner now supports ExcellentEconomy for storage selling.
CoinsEngine support has been replaced by ExcellentEconomy.
Shop Integration Updates
ExcellentShop integration has been removed.
Supported shop integrations now include:
- EconomyShopGUI
- EconomyShopGUI Premium
- ShopGUI+
- zShop
Important Notes
- SmartSpawner now requires Java 25 or newer.
- Existing sell-related configuration values are migrated where possible.
- A new permission has been added:
smartspawner.command.set.
New Features
-
Auto-Sell & XP Claim on Spawner Break Added support for automatically selling items and claiming XP when a spawner is broken. Configuration loading has also been enhanced for better reliability and flexibility.
-
Version 26.x Support Updated compatibility to include the latest minecraft version, ensuring SmartSpawner works seamlessly on the most recent Minecraft releases.
Improvements
- Experience Fields Migrated to
longType All experience-related fields have been migrated frominttolong, significantly increasing capacity and precision for high-volume or long-running servers.
Bug Fixes
-
Fixed: Spawner Disappearing When Surrounded by Blocks Resolved a critical bug where a spawner would vanish if it was completely enclosed by blocks. The fix ensures a valid drop location is always located nearby, even in tight spaces.
-
Fixed: Money Stacking Up with GUI Open on Full Storage Resolved an issue where currency would continue accumulating even after the spawner storage was full, as long as the GUI remained open. Money will no longer stack up when storage capacity has been reached.
-
Fixed: Drop All Button Dropping Items in Inconsistent Directions The "Drop All" button in the Spawner GUI now drops items in a consistent, predictable direction instead of randomly scattering them.
-
Fixed: Placeholder Errors in Some Embeds Not Displaying Information Certain embed messages were failing to resolve placeholders correctly, resulting in missing or blank information. This has been corrected alongside the event logging improvements.
Removed
- RedProtect Integration Removed All RedProtect hooks and related references have been removed from the codebase. If you were relying on RedProtect integration, please consider an alternative region protection solution.
-
Bug Fixes
- Fixed selling items from spawner occasionally not working as expected.
- Fixed the confirm sell UI in DonutSMP to better match the DonutSMP visual style.
New Features
- Added mob head button to display spawner infos inside Spawner Storage GUI.
- Added new
DonutSMP_v2spawner GUI layout.
Changes
- Renamed language file from
DonutSMPtoen_US_DonutSMP. gui_config.ymlentries are now separated into their own respective layout files, making per-layout customization much cleaner.- Various other language/locale string adjustments - see
CHANGELOG.txtfor full details.
Removed
- Removed item translation entries from
items.yml. Item names are now built viatemplateKeyand rendered client-side for much better performance and full compatibility with all in-game Minecraft translated languages.
Hotfix & compatibility update following v1.6.3
Bug Fixes
- Resolved plugin crash introduced in v1.6.3 when running on Minecraft 1.21.4 and below.
- Fixed hook integration with the Residence protection plugin.
- Enhanced explosion protection logic to correctly handle non-destructive explosions.
Wind Charge, Breeze Wind Charge, and player mace wind-burst blasts appear in the block list but never actually destroy blocks. Spawner data is now always preserved for these explosion types, regardless of theprotect_from_explosionsconfig value.
New Integrations
- Added support for HuskClaims land-claim plugin.
- Added support for SimpleClaimSystem 2.
(Thanks to Xyness, the plugin author, for the contribution.)
Performance
- Optimized the selling process for improved throughput and transaction security.
New Features
/ss near [radius]CommandAdded a new command that scans for nearby spawners within a specified radius and highlights them through walls. All discovered spawners are displayed in a dedicated GUI for easy management.
Collect XP Button in Storage GUI
A new Collect XP button has been added directly to the spawner storage GUI, allowing players to collect accumulated experience without opening a separate menu.
Centralized Discord Logging Configuration
Discord logging is now fully configurable through a dedicated
discord_logging.ymlfile. Each embed can be individually customized, giving server administrators complete control over the appearance and content of Discord notifications.Language Changelog Files
Added language changelog files to make it easier for users to maintain and update their custom language translations across versions.
New API Events
- SpawnerTakeAllEvent - Fired when a player clicks the "Take All" button in the spawner storage GUI.
- SpawnerDropAllEvent - Fired when a player clicks the "Drop All" button in the spawner storage GUI.
Bug Fixes
- SimpleClaimSystem (Paid Version) - Fixed a crash that occurred when using the paid version of SimpleClaimSystem. SmartSpawner now only hooks into the free version of SimpleClaimSystem. (#185)
- Memory Leak in Sell Operation - Fixed a memory leak caused by
itemToRemovenot being properly cleared during sell operations in the spawner inventory. - ExcellentShop Sell Prices - Fixed sell prices not being loaded correctly when ExcellentShop is used as the price provider.
- Spawner Loss on Stack Limit Reduction - Fixed a bug where reducing the maximum stack limit would delete spawners that exceeded the new limit. Spawners are now properly preserved when the limit changes.
- Spawner Item Floating Near Bedrock - Fixed an issue where broken spawner items would float upward into a cave pocket above the player when mining near bedrock with no block directly behind the spawner.
Improvements
- Discord Logging Performance - Optimized the Discord logging system to reduce overhead and improve overall server performance when logging is enabled.
Performance
- Improved overall performance between spawners and hoppers, resulting in smoother and more efficient operation.
Bug Fixes
- Fixed an issue in the GUI config where the right-click action could not be changed, now works as expected.
- Fixed a bug where XP could not be collected after clicking "Sell All & Collect XP" when no items were available to sell.
- Fixed broken developer API links in the documentation and bumped the API version to reflect the latest changes (1.6.2).
Performance Improvements
- Optimized sell operation performance to prevent server crashes when processing large quantities of items in spawner storage
Bug Fixes
- Fixed placeholders not updating correctly in storage GUI title when performing actions (page changes, loot spawn, etc.)
- Resolved placeholder formatting issues for:
{entity},{ᴇɴᴛɪᴛʏ}{amount}
Bug Fixes
- Fixed an issue where item spawners with different item types could be incorrectly stacked together
- Fixed wiki link references for mob drops in
spawners_settings.ymlto point to correct documentation - Fixed wind charges converting smart spawners to vanilla spawners when
protect_from_explosionsis disabled - Fixed
NoClassDefFoundErrorwith CoinEngine API - Fixed unbreakable tools breaking after mining a certain number of spawners
New Features
- Added support for Minecraft 1.21.11
- Added new mob spawners:
- Parched
- Camel Husk
- Nautilus
- Zombie Nautilus
SmartSpawner - Version 1.5.7.1
Bug Fixes
- Fixed the error causing "zip file closed" on Minecraft 1.21.4.
Updates
- Updated the Developer API with additional methods for modifying and retrieving spawner's stats.
For more details, visit the SmartSpawner documentation:
https://nighterdevelopment.github.io/smartspawner-docs/developer-api/api-data-access/
SmartSpawner - Version 1.5.7
Changes
- Removed chunk spawner limiter - This feature has been temporarily removed from the core plugin and will be re-implemented as a separate addon to improve overall performance
Bug Fixes
- Fixed shift-place spawner - Resolved an issue where players would lose their entire stack when shift-placing spawners if the max stack size config was less than 64 items
- Fixed storage item consumption bug - Resolved incorrect item amount when using the "Take All" button in spawner storage
- Fixed race condition exploit - Added lock protection to spawner breaking/mining operations to prevent potential race condition exploits
Performance Improvements
- Optimized storage GUI rendering for better performance
- General performance enhancements to improve plugin efficiency
Note: The chunk spawner limiter will return as a separate addon in a future update with enhanced performance optimizations.
SmartSpawner - Version 1.5.6.2
Critical Dupe Patched
- Fixed item duplication exploit caused by race condition in VirtualInventory synchronization with storage GUI
Technical Details
The exploit involved using two game instances with swarm mode (custom mod) to create a race condition between spawner inventories. This has been completely patched by:
- Synchronizing inventory operations across all connected clients
- Adding transaction verification before committing item changes
- Implementing proper locking mechanisms for concurrent access
All users running v1.5.4.3 or lower should update immediately.
SmartSpawner - Version 1.5.6.1
🐛 Bug Fixes
- Fixed: Possible item duplication issue with "Take All" and "Drop Page" buttons
- Found by: @Raczain (Autism Inc.)
ℹ️ Note
This dupe has not been fully confirmed but has been patched as a precautionary measure. We recommend updating to this version to prevent potential exploits.
SmartSpawner - Version 1.5.6
🎯 What's New
✨ New Feature: Item Spawners
What are Item Spawners?
- New spawner type with the appearance of a specific item in the spawner block
- All the same features as regular spawner spawners (storage, stack, etc.)
📝 Configuration
New Item Spawner Settings File
- Added
item_spawners_settings.ymlfor full control over item spawner behavior - Customize spawn loots, experience, and other settings
- New command:
/ss give item_spawner <player> <item_type> [amount]
🔧 Bug Fixes
Fixed Storage GUI Page Display Issues
- Problem: When you removed items from your spawner storage, the page counter at the top would sometimes show weird placeholders like
[{current_page}/{total_pages}]instead of the actual page numbers like[1/1] - What fixed:
- Page numbers now always display correctly when you take items out of storage
- When your spawner generates loot while you have the storage open, the page counter updates properly
- The GUI title now always shows the right page you're on and total pages available
🛡️ Security & Performance Improvements
Added Anti-Spam Protection for Storage GUI
- What this means: We've added a short cooldown (half a second) between opening and closing your spawner storage
- Why this helps: Prevents issues with cheater try to spam-click or use macros in GUIs
- Your experience: You won't even notice this - it only blocks actions that happen too fast to be intentional
Optimized Storage Title Updates
- What changed: The plugin now only updates the page counter when it actually needs to (like when moving between pages)
- Benefit: Better performance, especially if you have many items in storage
🔌 Developer Features
New API Methods for Custom Spawners
Plugin developers can now create:
- Vanilla Spawners: Natural spawners that spawn mob
- Item Spawners: Special spawners with the appearance of a specific item in the spawner block
📋 Summary
This is a major feature update! We've introduced Item Spawners - a completely new way to use spawners for automatic item generation. Plus, we fixed annoying storage GUI display bugs, added protection against spam-clicking, and improved overall performance.
Upgrade highly recommended: New features + important bug fixes and stability improvements.
SmartSpawner - Version 1.5.5
✨ New Features
Version Support
- Added Minecraft 1.21.10 Support - Full compatibility with latest Minecraft version
New Spawner Config
- Copper Golem Spawner - Added support for Copper Golem spawner in 1.21.10
🐛 Bug Fixes
Spawner Mechanics
- Fixed Cycle Skipping - Resolved issue where spawners would skip a cycle after stack size updates (stacking or destacking)
- Fixed Hopper Integration - Hoppers now continue working correctly after spawner stacking operations
- Fixed Low TPS Issues - Spawners no longer stop spawning loot when server TPS drops
- Spectator Mode Fix - Spectator players can no longer activate spawners
🛡️ Security & Stability
Critical Fixes
- Fixed Item Duplication Exploit - Implemented comprehensive item duplication exploit patch with transaction locking and atomic operations for "Drop All" and "Take All" buttons in spawner storage GUI
- Enhanced Exception Handling - Added exception catching to prevent plugin shutdown when other plugins crash, ensuring SmartSpawner continues to load even if other plugins fail
🎨 Configuration Changes
Placeholder System Update
- New Placeholder Format - Changed from
%placeholder%to{placeholder}syntax - Added Percentage Placeholders - New percentage-based placeholders available in holograms and spawner info buttons
⚠️ Important: You must update your language folder. Backup your current language files and either:
- Delete the language folder to let the plugin regenerate it with new format, or
- Manually update placeholders if using custom language files
Configuration Migration
- Migrated from
mob_drops.ymltospawners_settings.yml- Consolidated configuration structure - Customizable Mob Head Textures - Users can now edit mob head texture displays directly in spawner GUI settings
⚡ Performance Optimizations
Spawner System
- Optimized Range Checking - Significantly improved performance of spawner range detection
- Enhanced GUI Updates - Streamlined spawner GUI view updates with reduced meta calls and improved placeholder handling
- Loot Spawn Optimization - Enhanced loot spawning efficiency with scheduled spawn time tracking and early loot addition
User Experience Improvements
- Accurate Countdown Timer - Spawner delay now counts down correctly from configured time to 00:00 (e.g., 25s → 00:25 to 00:00)
- Smoother GUI Experience - Pre-spawner loot processing for faster, smoother GUI timer performance
- Prewarm Head Texture Cache - Reduced GUI latency by preloading mob head textures
SmartSpawner - Version 1.5.4.3
🔧 Bug Fixes
Fixed Folia Server Errors
- Fixed critical error that caused the plugin to throw errors on Folia servers when checking for ghost spawners
- The plugin now properly works with Folia's multi-threaded system
- Ghost spawner checks are now thread-safe and won't cause server errors
Automatic Ghost Spawner Checks Removed
- Removed automatic ghost spawner cleanup that ran every 5 minutes to improve server performance
- Use
/ss clear ghost_spawnerscommand whenever you want to manually clean up ghost spawners
✨ Improvements
Customizable Storage GUI Title
# Before: gui_title_storage: '򅊮ꜱᴘᴀᴡɴᴇʀ ꜱᴛᴏʀᴀɢᴇ' # After: gui_title_storage: '򅊮ꜱᴘᴀᴡɴᴇʀ ꜱᴛᴏʀᴀɢᴇ - [%current_page%/%total_pages%]'- Storage GUI title is now fully customizable through the language files (
gui.yml) - You can now change current page and total pages information to the storage title
Better Storage GUI Experience
- Fixed page display bug - When taking all items from storage, the page number now updates correctly
Performance Optimizations
- Storage GUI now updates faster and uses less server resources
- Reduced unnecessary operations when browsing through storage pages
SmartSpawner - Version 1.5.4.2
Bug Fixes
Fixed Loot Not Spawning Issue
- Sometimes spawner would skip spawn cycles even though the timer reached zero.
Fixed Total Price Showing $0
- The total price display in the spawner menu would sometimes show $0 even though items were worth money (selling still worked correctly). The display now properly refreshes to show the correct accumulated value.
SmartSpawner - Version 1.5.4.1
Hotfix Release
🐛 Bug Fixes
Fixed timer reaching zero without spawning items
- Resolved an issue where newly created spawners would occasionally fail to spawn items when the timer reached zero
- Only affected spawners created after the previous update
- Existing spawners from earlier versions were not impacted by this bug
📝 Notes
This is a critical hotfix addressing spawn failures in new spawners. If you're experiencing this issue, please update immediately to restore proper functionality.
SmartSpawner - Version 1.5.4
🐛 Bug Fixes
UI & Display
- Fixed
%time%placeholder flickering when clicking sell/claim exp on the info button in the spawner menu - Improved hologram stability - Holograms now properly clean up after server restarts and chunk reloads, preventing ghost holograms from accumulating
Chunk Limit System
- Fixed initialization bug that could affect spawner chunk limits
Third-Party Compatibility
- Updated SuperiorSkyblock2 integration to use better API methods
- Added Residence plugin support for region protection compatibility
✨ New Features
📊 Comprehensive Logging System
A powerful new logging system to track all spawner activities and player interactions:
Core Features:
- Zero Performance Impact - Fully asynchronous with automatic batch writing every 2 seconds
- Flexible Storage - Choose between JSON or human-readable formats with automatic file rotation
- Granular Control - Enable/disable specific events from 21 different event types
- Discord Integration - Beautiful rich embeds with color-coded events and player avatars
What Gets Logged:
- Spawner lifecycle (place, break, explode)
- Stacking operations (hand, GUI, destack)
- GUI interactions (main menu, storage, stacker)
- Economy actions (XP claims, selling items)
- Storage management (take all, drop, sort, filters)
- Commands (player, console, RCON - captures ALL admin actions)
- Entity type changes
Log Output Examples
Human-Readable: (.log)
[2025-10-12 18:30:45] Spawner placed | Player: Steve | Location: world (100, 64, 200) | Entity: ZOMBIE | quantity=1 [2025-10-12 18:31:20] Command executed by player | Player: Admin | command=give full_command=/ss give Steve zombie 5 [2025-10-12 18:32:10] All items taken from storage | Player: Steve | items_taken=64 items_left=0JSON: (.json)
{"timestamp":"2025-10-12 18:30:45","event_type":"SPAWNER_PLACE","player":"Steve","player_uuid":"069a79f4-44e9-4726-a5be-fca90e38aaf5","location":{"world":"world","x":100,"y":64,"z":200},"entity_type":"ZOMBIE","metadata":{"quantity":1}} {"timestamp":"2025-10-12 18:31:20","event_type":"COMMAND_EXECUTE_PLAYER","player":"Admin","player_uuid":"069a79f4-44e9-4726-a5be-fca90e38aaf6","metadata":{"command":"give","full_command":"/ss give Steve zombie 5"}} {"timestamp":"2025-10-12 18:32:10","event_type":"SPAWNER_ITEM_TAKE_ALL","player":"Steve","player_uuid":"069a79f4-44e9-4726-a5be-fca90e38aaf5","location":{"world":"world","x":100,"y":64,"z":200},"entity_type":"ZOMBIE","metadata":{"items_taken":64,"items_left":0}}Discord Webhook Features:
- 🎨 Color-coded embeds organized by event category
- 👤 Player skin/head thumbnails via https://mc-heads.net/
- ⚙️ Fully customizable titles, descriptions, and fields
- 🛡️ Rate limiting protection (Discord API compliant)
- 🔄 20+ placeholder variables for custom formatting



and more...
Hologram Placeholders
Two new percentage-based placeholders are now available for hologram customization:
%percentage_storage%%- Displays storage capacity as a percentage (e.g., 75.5%)%percentage_exp%%- Displays experience capacity as a percentage (e.g., 50.0%)
New Commands
/ss clear holograms- Kill all text display holograms from the server
- Useful for cleaning up hologram displays after configuration changes or when holograms get stuck
- Permission:
smartspawner.command.clear
/ss clear ghost_spawners- Automatically detects and removes broken spawners without physical blocks
- Runs asynchronously to prevent server lag
- Provides detailed feedback on the number of spawners cleaned
- Permission:
smartspawner.command.clear
Permission Updates
All command permissions now use a consistent
.commandprefix:smartspawner.command.use- Main command access (replacessmartspawner.admin)smartspawner.command.reload- Reload configurationsmartspawner.command.give- Give spawners to playerssmartspawner.command.list- Access spawner list adminsmartspawner.command.hologram- Toggle hologramssmartspawner.command.prices- View spawner pricessmartspawner.command.clear- Clear holograms and ghost spawners
Configuration Updates
- Updated mob_drops.yml - All mob drop rates have been corrected based on official Minecraft Wiki data. We recommend updating your configuration file to benefit from these accuracy improvements.
⚡ Performance Improvements
This update includes significant performance optimizations:
- Improved spawner range checking - Now runs most calculations efficiently and asynchronously
- Reduced server load - Optimized entity spawning process to use fewer resources
- Better memory usage - Spawners now handle entity creation more efficiently, reducing memory allocation
- Faster chunk operations - Optimized how the plugin interacts with world data
These changes should result in smoother gameplay, especially on servers with many spawners.
Important: If you're upgrading from an older version, please review the permission changes and update your permission plugin accordingly. The new logging system is enabled by default but can be disabled in the configuration.
- Fixed

