ePowerBlocks | Entertain your players v1.3.0

Entertain your Players by most powerful plugin PowerBlocks - Rewards, NPC support, and more!
This update introduces a new Potion Effect feature, fixes several long-standing issues (including hologram duplication and memory leaks), and improves performance across multiple systems.

Potion Effect Feature​

A new Effect feature allows PowerBlocks to continuously grant any potion effect to nearby players.

Features:
  • Supports any potion effect (e.g. HASTE, SPEED, STRENGTH, etc.)
  • Configurable:
    • Radius
    • Potion effect
    • Amplifier
    • ignorePermission
    • Actions
  • Effects are refreshed every second while players remain inside the radius.
  • Effects are automatically removed when:
    • the player leaves the radius
    • the player disconnects
  • Supports both legacy and modern potion effect names (e.g. FAST_DIGGING ↔ HASTE).

Hologram memory leak​

  • Fixed a memory leak where every reload, editor save, or /epb on created duplicate hologram templates inside HologramService.
  • Previous hologram templates are now properly unregistered before new ones are created.

Incorrect block material after chunk load​

  • Fixed PowerBlocks always placing the ACTIVE material after a chunk loaded.
  • Blocks now correctly use the material matching their current state (ACTIVE, COOLDOWN, INACTIVE, etc.).

/epb nearby​

  • Fixed a crash when PowerBlocks existed in different worlds (distance() cross-world exception).
  • Fixed an NPE for blocks without a loaded location.

/epb on​

  • Fixed YAML fallback loading.
  • The command incorrectly attempted .yml twice instead of trying .yaml.
  • Added the same fallback support to enablePowerBlock.

PlaceholderAPI​

  • Fixed %cooldown_formatted% occasionally returning negative values.
  • Placement placeholders no longer mutate the internal leaderboard cache.

Update Checker​

  • Replaced numeric string comparison with proper semantic version comparison.
  • Versions such as 1.10.0 are now correctly recognized as newer than 1.9.9.

CMI Holograms​

  • Fixed holograms not being removed from the CMI HologramManager during unload.
  • Prevented holograms from being saved into CMI's holograms.yml, eliminating duplicate holograms after server restarts.

Duplicate holograms after editor save​

  • Fixed an issue where editor clones unintentionally registered themselves with HologramService.
  • Saving a block no longer leaves orphaned holograms behind.
  • Editor clones are now pure data containers without side effects.

FancyHolograms​

  • Fixed holograms being created as persistent objects.
  • PowerBlock holograms are now temporary (persistent=false), preventing duplicates after server restarts or /fh reload.

Editor​

  • Fixed an NPE when saving a PowerBlock that was currently disabled or not registered.

Performance Improvements​

  • Eliminated an unnecessary configuration load/save cycle in enablePowerBlock.
  • Right-click PowerBlock lookup now uses O(1) registry access instead of iterating through every block.
  • Optimized /epb nearby:
    • Uses distanceSquared()
    • Eliminates repeated active-player calculations
    • Complexity reduced from O(n²) to O( n).
  • On Folia, ParticleMechanic no longer schedules tasks every tick for blocks without particle effects.
  • Simplified getActiveMiningPlayersMap() from a two-pass stream pipeline to a single-pass implementation.

Changes​

  • Fixed an issue where some PowerBlocks could respawn in an incorrect state after cooldown, causing them to not restore their intended health properly.
  • Improved state transition handling after cooldown to ensure blocks consistently reset and behave as expected.
  • Added extra safeguards for edge-case timing scenarios to prevent inconsistent block status/health values.

Inactive System Improvements​

  • Reworked the inactive detection system to be more precise
  • Fixed multiple edge cases where inactivity could be detected incorrectly
  • Overall behavior is now more stable and predictable
  • Added new option to the inactive section:
    YAML:
    reset-player-stats: true
    When enabled:
    ➡️ The mined block count of all players will be reset once a PowerBlock becomes inactive.

Registry Improvements​

  • Minor adjustments to the PowerBlock Registry system introduced in 1.2.0
  • Improved internal consistency and reliability

Other Changes​

  • Various internal code improvements
  • Small stability tweaks



Placeholders fixed
  • Location placeholders are now clamped so they can’t return negative values anymore.
Status system reworked
  • Status handling has been redesigned
  • Should fix all remaining issues related to block update/status refreshing
Folia support fixed
  • Resolved an issue where Folia support could throw errors in certain situations
👉 Recommended update (especially if you use placeholders or Folia).
Changes:
  • New placeholders added %epb_<powerblock>location_x% %epb<powerblock>location_y% %epb<powerblock>location_z% %epb<powerblock>location_world% and %epb<powerblock>_location% → returns x y z
  • Fixed an issue where PowerBlocks could not be created via the menu
  • Particle system now strictly validates invalid particle definitions Prevents errors and misconfigured particles from causing issues
This is the largest technical overhaul in the plugin’s history. I focused almost exclusively on performance, stability, and maintainability. Core systems were rewritten, major bottlenecks removed, and aggressive caching & spatial lookup strategies introduced. Expect dramatically reduced CPU usage on busy servers.

This changelog is a bit for nerds. :censored:

Interaction Complexity Reduction (O(N) → O(1))
(N = Number of PowerBlocks)
  • Rewrote how Block Breaking, Explosions and Redstone interactions are handled.
  • Instead of iterating over every PowerBlock on the server, we now use an O(1) registry + spatial lookups. That means near-zero lag regardless of total PowerBlock count.
  • The same constant-time approach applies to entity interactions.
Leaderboard & Statistics Engine (Reduction O(N*Log(N)) → amortized O(1))
(N = Number of players who ever mined PowerBlock)
  • Replaced legacy system with a centralized StatisticsManager.
  • Removed per-event sorting and stream allocation.
  • Implemented in-place leaderboard updates (Bubble-Up / TimSort style), drastically cutting allocations and GC pressure.
  • Effect: leaderboard updates from O(N*log(N)) to amortized O(1) and no longer dominate CPU time during heavy activity.
Feature Mechanics:
  • ForceField & MiningVisibility: Now use Spatial Queries (checking nearby entities via chunks) instead of iterating through all players on the server.
  • Velocity: Optimized math calculations and physics application.
Particle System Refactor:
  • Implemented a strict caching system for particle settings.
  • Removed heavy String parsing from the main tick loop.
  • Added direct property lookups, saving thousands of calculations per second.
Smart Block Physics:
  • Rotatable Blocks: Blocks now rotate without triggering physics updates (lighting/redstone checks), saving unnecessary processing. (It should be 3-5x more faster)
  • Smart Set: The plugin now checks if a block type/material is already correct before attempting to change it and checking if physics needs to apply, preventing unnecessary chunk updates and lighting calculations. (It should be much faster (5+)x)
  • Fixed bug that caused all rotatable blocks to rotate in the normal world.

Codebase & Architecture

  • Monolith Decomposition: The massive ABlock "God Class" (1200+ lines) has been dismantled and split into smaller, modular, and maintainable classes/sections.
  • New Registry System: Implemented a robust PowerBlockRegistry that powers the new O(1) lookup system.
  • YAML Structure: Improved the internal structure of saved powerblocks files. (If you update the block via the editor menu, the structure of the YAML file will be slightly different.)
Stability, Debug & Safety Improvements
  • Improved debug output for configuration issues to help admins locate misconfigured blocks quickly.
  • Spam prevention and safer error handling when invalid materials/entities are configured.
  • Cron system rewritten with robust time calculation and safety checks to avoid infinite loops or freeze conditions.
Folia & Compatibility
  • Better task scheduling and stability on Folia servers.
  • Threading and concurrency improvements to reduce race conditions on alternative server implementations.
Dependencies
  • FancyNPCs API updated: 2.3.0 → 2.9.0 (compatibility with latest FancyNPCs versions).
  • Various internal libraries bumped to newer, more stable releases.
Bug Fixes
  • Multiple small stability fixes discovered during the refactor.
Upgrade Notes & Migration Tips
  • Backup your config and saved data before upgrading — YAML structure changed for improved clarity. (Nothing should break, the plugin reads data in a similar way, but you never know.)
  • If you rely on FancyNPCs, update to a compatible FancyNPCs 2.9.0+ build.


Due to the massive scale of code refactoring and optimizations in this version, it is unrealistic to test every possible edge case. I would greatly appreciate your help in reporting any issues you encounter. I am committed to fixing any reported problems within 24 hours.

I also want to sincerely apologize for the lack of support recently, as I had very limited time leading up to this update. I will do my best to make it up to you with improved stability and active support moving forward. Thank you for your patience!
Changes:
  • Rewards: Fixed critical issues where Offline Rewards were not being distributed to players correctly.
  • Logic: Added validation to prevent claiming offline rewards if the specific Reward or PowerBlock has been disabled.
  • Fixes: Fixed a bug where Permissions were not correctly checked for offline rewards.
  • Optimization: Optimized the reward processing loop for better performance.
  • Data: Improved saving frequency to ensure offline reward data is preserved even during server crashes.
Changes:
  • Editor & Menu: Completely reworked the in-game editor (/epb editor). The menu is now organized into specific sections (Actions, Cooldowns, Particles, Sounds, Rewards, etc.) for detailed block configuration. Note: The editor is currently a work in progress.
  • Commands: Added new commands for advanced hologram management (/epb hologram info/addline/removeline/setline) and block information display.
  • Particles: Complete refactor of all particle effects (Burst, Circle, Explosion, etc.) to a new, optimized system. It now supports many more particle effects.
  • Sounds: Added a new Sounds mechanic, which is much better than defining sounds inside Actions.
  • Holograms: Fixed support for external providers (Decent, Fancy, HD) and added the ability to edit lines dynamically in-game.
  • Core: Major internal updates and optimization for better stability.
  • Fixes:
    • Fixed unformatted message texts.
    • Fixed bugs related to PowerBlock statuses.
    • Fixed Permission check issues.
    • And much more.
Buy a license now
$13.90
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 10% commission.
2,424 Views
18 Purchases
28 Downloads
Dec 4, 2024 Published
Jul 5, 2026 Updated
Not yet rated
3.5 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
  1. Economy
  1. Minigame
Game mode
  1. Survival & SMP
  1. Skyblock
  1. BoxPVP
Game mode
  1. Survival
  1. Skyblock
  1. BoxPVP
Game mode (legacy)
  1. Survival
  1. Skyblock
  1. BoxPVP
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
  1. 1.13
  1. 1.12
  1. 1.11
  1. 1.10
  1. 1.9
  1. 1.8
Supported languages
  1. English
Includes DRM
No
Source access (legacy)
Closed source & unobfuscated
Creator
Owner
Recommended for you
best and most powerful ShulkerBox plugin! Best AntiDupe system! Lots of features and much more!
Not yet rated
23 purchases
Track, Customize & Update Items Dynamically
Not yet rated
3 purchases
Show different builds to different players - instantly. ePacketSchematic makes per-player schematics
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,230 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,222 purchases
Share and earn
Refer this resource and earn a 10% commission.
2,424 Views
18 Purchases
28 Downloads
Dec 4, 2024 Published
Jul 5, 2026 Updated
Not yet rated
3.5 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
  1. Economy
  1. Minigame
Game mode
  1. Survival & SMP
  1. Skyblock
  1. BoxPVP
Game mode
  1. Survival
  1. Skyblock
  1. BoxPVP
Game mode (legacy)
  1. Survival
  1. Skyblock
  1. BoxPVP
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
  1. 1.13
  1. 1.12
  1. 1.11
  1. 1.10
  1. 1.9
  1. 1.8
Supported languages
  1. English
Includes DRM
No
Source access (legacy)
Closed source & unobfuscated
Creator
Owner
Recommended for you
best and most powerful ShulkerBox plugin! Best AntiDupe system! Lots of features and much more!
Not yet rated
23 purchases
Track, Customize & Update Items Dynamically
Not yet rated
3 purchases
Show different builds to different players - instantly. ePacketSchematic makes per-player schematics
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,230 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,222 purchases
Top