Changelog
SmartSpawner - Version 1.5.0
🚀 Major Changes
- Dropped support for Minecraft 1.20 - Plugin now requires newer versions (1.21+)
- Migrated to Paper Plugin system with modern Brigadier command framework for better performance and compatibility~~~~
- Support RemoteConsole (RCON) execution for all commands from plugin
- New Prices Command & GUI - Added GUI for viewing spawner item sell prices by shop/custom prices (/ss prices)
🔧 Core Improvements
- Enhanced Spawner list GUI
- Sort order now displays in descending order
- Add new admin features: remove spawner, increase stack size, open spawner GUI in admin view, teleport to spawner
- Improved Timer Display - Spawner info now uses
%time%
placeholder for dynamic updates with better performance - Enhanced Reload Command - Now properly loads config (range,min-mobs,max-mobs,..) for existing spawners in the world
🐛 Bug Fixes
- Fixed shift-click spawner placement - No longer consumes spawner items when placing in restricted regions (from third-party plugin support)
- Fixed BentoBox integration - Resolved issue where spawners were blocked even outside of islands
- Fixed IridiumSkyblock integration - Removed debug messages spam
- Fixed spawner experience preservation - XP no longer incorrectly persists after server restart
🔒 Critical Security Fix
🚨 MANDATORY UPDATE - Spawner Duplication Exploit Patched
- Issue: Critical vulnerability allowed cheaters and hackers to duplicate spawners using GUI packet manipulation and load/save state exploits
- Root Cause:
SpawnerStackerHandler.handleStackDecrease()
didn't validate spawner block existence before destacking - Solution: Added comprehensive ghost spawner validation and packet state verification before processing any destacking operations
⚠️ ALL USERS MUST UPDATE to prevent exploitation of this duplication bug.
📋 Update Checklist
Before updating, ensure you:
- [ ] Verify server version - Ensure your server is running Minecraft 1.21 to 1.21.8 (older versions are no longer supported)
- [ ] Update mob_drops.yml - Change all
potion_effect:
sections topotion_type:
for TIPPED_ARROW items (see format example below) Old:
TIPPED_ARROW:
amount: 0-2
chance: 50.0
potion_effect:
type: SLOWNESS
extended: false
upgraded: false
New:
TIPPED_ARROW:
amount: 0-2
chance: 50.0
potion_type: SLOWNESS
- [ ] Update lang folder - Re-download or manually add
%time%
placeholder support to your language files for spawner timer display (next spawn) New:
spawner_info_item:
name: '&#ab7afd%ᴇɴᴛɪᴛʏ% ꜱᴘᴀᴡɴᴇʀ'
lore:
- ''
- 'b68ee◈ a2be2ɪɴꜰᴏʀᴍᴀᴛɪᴏɴ:'
- ' &#e6e6fa• ꜱᴛᴀᴄᴋ: &#c2a8fc%stack_size%'
- ' &#e6e6fa• ʀᴀɴɢᴇ: &#c2a8fc%range%&#e6e6fa ʙʟᴏᴄᴋꜱ'
- ' &#e6e6fa• ᴍᴏʙꜱ: &#c2a8fc%min_mobs%&#e6e6fa - &#c2a8fc%max_mobs%'
- ' &#e6e6fa• ᴅᴇʟᴀʏ: &#c2a8fc%delay%&#e6e6faꜱ'
- ' &#e6e6fa• ɴᴇxᴛ ꜱᴘᴀᴡɴ: &#c2a8fc%time%'
- ''
- 'b68ee⊳ &#f8f8ffʀɪɢʜᴛ-ᴄʟɪᴄᴋ ᴛᴏ ᴏᴘᴇɴ &#ab7afdꜱᴛᴀᴄᴋᴇʀ ɢᴜɪ'
- 'b68ee⊳ &#f8f8ffᴄʟɪᴄᴋ ᴛᴏ&#f0c857 ꜱᴇʟʟ ɪᴛᴇᴍꜱ &#ab7afd& %eb9aᴄᴏʟʟᴇᴄᴛ xᴘ'
# Version used when shop integration is disabled or player lacks permission
lore_no_shop:
- ''
- 'b68ee◈ a2be2ɪɴꜰᴏʀᴍᴀᴛɪᴏɴ:'
- ' &#e6e6fa• ꜱᴛᴀᴄᴋ: &#c2a8fc%stack_size%'
- ' &#e6e6fa• ʀᴀɴɢᴇ: &#c2a8fc%range%&#e6e6fa ʙʟᴏᴄᴋꜱ'
- ' &#e6e6fa• ᴍᴏʙꜱ: &#c2a8fc%min_mobs%&#e6e6fa - &#c2a8fc%max_mobs%'
- ' &#e6e6fa• ᴅᴇʟᴀʏ: &#c2a8fc%delay%&#e6e6faꜱ'
- ' &#e6e6fa• ɴᴇxᴛ ꜱᴘᴀᴡɴ: &#c2a8fc%time%'
- ''
- 'b68ee⊳ &#f8f8ffᴄʟɪᴄᴋ ᴛᴏ ᴏᴘᴇɴ &#ab7afdꜱᴛᴀᴄᴋᴇʀ ɢᴜɪ'
lore_full: '&#ff5252ꜱᴛᴏʀᴀɢᴇ & ᴇxᴘ ɪꜱ ꜰᴜʟʟ!'
lore_inactive: '&#ff3333ꜱᴘᴀᴡɴᴇʀ ɪꜱ ɪɴᴀᴄᴛɪᴠᴇ!'
- [ ] Update command chagnes to scripts - Change
/ss give
to/ss give spawner...
and/ss giveVanilaSpawner...
to/ss give vanilla_spawner...
in any automated scripts
Files
SmartSpawner-1.5.0.jar(513.26 KiB) Primary Download
Details
Licensed CC-BY-NC-SA-4.0
Published 10 months ago
Updated 3 days ago