
BS CustomJukebox
Fully-featured Paper 1.21+ jukebox plugin with custom music discs, disc fragments, GUI support, and WorldGuard/GriefPrevention integration.
Список изменений
[2.1.6] - 2026-05-01
Fixed
-
Critical: sound/soundKey field mismatch — Discs created or edited via GUI wrote
"soundKey"to disc.json, but the loader only read"sound". After a reload, the custom sound was silently lost.saveDiscToConfig()andupdateDiscField()now consistently write"sound"(the official field name)parseDiscFromJson()now reads"sound"with"soundKey"as backward-compatible fallback- DiscEditorGUIv2 now passes
"sound"instead of"soundKey"toupdateDiscField() - Existing disc.json files with
"soundKey"entries will be read correctly (no manual migration needed)
-
ParrotDanceListener NPE: Added null-check for
getWorld()before callinggetNearbyEntities(). Prevents crash when jukebox is in an unloaded world. -
JukeboxPlayback thread-safety: Changed internal
listenersset fromHashSettoConcurrentHashMap.newKeySet(). Prevents potentialConcurrentModificationExceptionwhen players join/leave during playback. -
Config values without bounds validation: All numeric config getters now clamp to valid ranges:
volume: 0.0–4.0creeper-drop-chance/loot-chance: 0.0–1.0max-loot-discs/fragments-per-disc: 1–64jukebox-hearing-radius: 1–512dance-radius: 1–32
Removed
- ColorUtil class deleted: Deprecated since v2.1.0, internally fully replaced by
AdventureUtil. No remaining usages in plugin code. Removed unused import fromDiscEditorGUIv2.
Changed
- README overhauled: Resource Pack documentation
- Replaced misleading
pack_format: 34for "Minecraft 1.21.x" with accurate per-version format table - Added modern
min_format/max_formatexamples for Minecraft 1.21.9, 1.21.10, and 1.21.11 - Added GitHub URL warning (don't use
/blob/URLs for server resource packs) - Added ZIP structure documentation (correct vs incorrect root layout)
- Added troubleshooting checklist for "Resource Pack hash is outdated" error
- Replaced misleading
- Example resource pack updated:
pack.mcmetanow usesmin_format: [69, 0]/max_format: [75, 0](compatible with MC 1.21.9–1.21.11) - Example resource pack README fixed:
- Added note that template does not include real
.oggfiles - Replaced outdated
supported_formatsreference withmin_format/max_formatexplanation - Unified sound key examples to consistently use
music_disc.prefix - Fixed incorrect
config.ymlreference →server.propertiesasresource-pack-sha1
- Added note that template does not include real
