Releases: NighterDevelopment/SmartSpawner
v1.5.6.2
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.
v1.5.6.1
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.
v1.5.6
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.
v1.5.5
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
v1.5.4.3
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
v1.5.4.2
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.
v1.5.4.1
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.
v1.5.4
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=0
JSON: (.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 .command prefix:
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.
v1.5.3
SmartSpawner - Version 1.5.3
🎉 New Features
Integration Support
- PlotSquared Integration: Added full support for PlotSquared, enabling seamless spawner management within plots
- BentoBox Integration: Restored BentoBox compatibility for skyblock and island-based gameplay
- Floodgate Integration: Implemented spawner main menu form UI for Floodgate, providing native support for Bedrock Edition players
GUI Enhancements
- Items Layout Sorter: Introduced a new items layout sorter for the spawner storage GUI, replacing the previous discard item system for better inventory management
- Real-time Sell Value Display: Added
%total_sell_price%placeholder to spawner GUIs, allowing players to view the total sell value of their spawners in real-time
Localization
- German Translation: Added complete German (de_DE) language support
🔧 Improvements
Performance Optimizations
- Sell Value Calculation: Optimized sell value accumulation for sale items, significantly improving performance when processing large spawner inventories
Code Quality
- Localization Refactor: Refactored and standardized localization system across all language files for better maintainability and consistency
v1.5.2
SmartSpawner - Version 1.5.2
Changes
- Enhanced GUI configuration for price management
- Cleaned up unused and deprecated code
- Fix spawner duping exploit: implemented tracking and force-closing mechanisms for filter GUI viewers
- Improved overall system stability and performance





