Changelog - RotatingHeadsPlus
[1.3.1] – 2026-06-18
Features
- New click-action type command_op: runs a command as the clicking player but with temporary OP (granted right before execution and restored immediately after, even if the command throws). This fills the gap between command (player context, but limited to the player's own permissions) and console_cmd (full permissions, but no player sender). Ideal for commands that act on the sender yet require a permission the player normally lacks — e.g. music/cosmetic commands like command_op:ukricore play growgarden. Documented in the README with a comparison table and a security note about the temporary OP grant
- New click-actions.bypassProtection config option (default false): when a protection plugin (Akropolis, WorldGuard, GriefPrevention, …) cancels the interaction, click-actions now respect that and do not fire by default; set this to true to fire them anyway so animated objects stay clickable inside protected/claimed areas. The interaction listeners were moved to HIGHEST event priority so the decision is evaluated after protection plugins process the event
Data safety
- Added automatic startup backups: the data/ folder is snapshotted into data-backups/<timestamp>/ on every boot (configurable via data.backupOnStartup / data.maxBackups), so animated objects can always be restored
- Saves are now atomic (written to a temp file then renamed), so a crash mid-save can no longer corrupt an existing configuration file
Improvements
- Floating (updown) height is now stored as an editable baseY value in the data file. Set it to place the float at an exact height, or remove the line to re-anchor it to the object's current position on the next reload
Fixes
- Critical: fixed animated objects' configuration files being deleted. Routine saves treated any object whose chunk was unloaded (e.g. right after a restart, before a player visited) as "orphaned" and removed its data file, causing armor stands and their settings to disappear. Data files are now only deleted on an explicit /rhead remove
- Fixed hologram/particle/equipment sections being dropped from a data file on save when their subsystem was momentarily not registered (e.g. just after a chunk reloaded). These sections are now preserved from the existing file instead of being lost
- Fixed players being able to strip the configured armor/items off an animated ArmorStand by clicking it; equipment is now protected on animated stands
- Fixed animated ArmorStands/entities not resuming after their chunk reloaded (e.g. after a player left and rejoined); they are now revived automatically when the chunk loads again
- Fixed a console error spam (ArithmeticException) and frozen animation when an object's interval was set to 0; the interval is now safely treated as a minimum of 1
- Fixed stalking heads facing away from players: head blocks set to look at a player now show their face instead of their back
- Fixed body-part pingpong animation snapping/moving far too fast when minAngle was greater than maxAngle (e.g. mirrored left/right limbs); it now bounces correctly regardless of value order
- Fixed floating (updown) objects slowly drifting downward across restarts/chunk reloads; the float now remembers its original height (stored as an editable baseY) instead of re-capturing a position that already includes the float offset
Changelog - RotatingHeadsPlus
All notable changes to this project will be documented in this file.
[1.3.0] – 2026-06-08
Features
- New /rhead clone [dx dy dz] command: duplicates the nearest animated object — including its animation, hologram, particles, equipment, click actions and conditions — at an optional offset (defaults to one block up). The clone is saved automatically as a new object
Improvements
- /rhead reload now applies packet-rotation settings (rotation.usePackets, rotation.packetRange) without needing a full server restart
- Click actions now work on wall-mounted heads, not just floor heads
Fixes
- Fixed plugin build failing because the FancyHolograms repository moved to a new address (no impact on running servers)
- /rhead relink added to the command usage shown in-game
Removed
- Internal cleanup of unused settings and leftover files (no change to existing configs or animations)
[1.2.1] – 2025-10-01
Fixes
- Added folia-supported: true — plugin now loads on Folia servers without errors
- Fixed AnimationExecutor crash on Folia (was using BukkitRunnable directly, now uses SchedulerAdapter)
- Fixed Metrics crash on Folia (was using Bukkit.getScheduler() directly, now uses GlobalRegionScheduler)
- Fixed /rhead tp crash on Folia (was using sync teleport cross-region, now uses teleportAsync)
Features
- Hex colour support:
&#RRGGBBcompact format recognised alongside legacy&x&R&R&G&G&B&B- Centralised colour translation — single source of truth
- Colour codes are resolved consistently across holograms, action messages, titles, broadcasts, actionbars, and equipment display names
- Pure Bukkit
§x§R§R§G§G§B§Bescape sequence — compatible with Minecraft 1.16+
[1.1.0] – 22/04/2026
Features
- Particle
sizeparameter: controls the visual scale ofREDSTONE/DUSTparticles viaParticle.DustOptions- Default value
1.0— no behaviour change for existing data filessizeis persisted through the save/load cycle (particles.sizein data YAML)
