Changes in v0.3.0:
- Complete code rework:
![]()
![]()
- Added Support for Spigot
- Fixed some bugs in API
Changes in v0.3.1:
- Fixed: Chunk-related issue on the Spigot platform
- Added: Update checker (can be disabled via config)
- Fixed: Several minor bugs and stability issues
Reworked API:
- Added support for creating virtual schematics
- Implemented smart block replacement inside schematics
- And much more!
After months of development, ePacketSchematic is back — completely rewritten, ultra-optimized, and packed with new features.
This version delivers a massive performance leap, a new AntiCheat compatibility system, developer API, and PlaceholderAPI integration.
Feature Highlights
Brand-new Developer API – easily access schematics and player data from your own plugins.
Completely Rewritten Core – brand-new optimized command framework and fully updated backend systems (from config handling to schematic logic).
AntiCheat Compatibility System – prevents false positives with intelligent fake-flight detection.
Massive Performance Boost – up to 80% fewer packets and lightning-fast schematic movement.
Optimized .epscheme Format – 10× smaller files and dramatically reduced memory usage.
PlaceholderAPI Support – use %eps_schematic_loaded_<identifier>%. (Ideal for script developers)
New Move Command – Move the player schematic as you want. (Ideal for falling meteorits etc..)
Updated Config & Messages – cleaner formatting, safer defaults, and new customization options.
WorldEdit Compatibility Fixes – Fixed Chunk bug associated with WorldEdit.
API Download & Wiki:
The official API JAR and documentation page will soon be available directly on BuiltByBit and the official eStudio Wiki.
Until then, developers can download the API from our eStudio Discord server. (API includes Javadoc documentation)
config.yml
YAML:# # ███████╗██████╗ █████╗ ██████╗██╗ ██╗███████╗████████╗███████╗ ██████╗██╗ ██╗███████╗███╗ ███╗ █████╗ ████████╗██╗ ██████╗ # ██╔════╝██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝██╔════╝██╔════╝██║ ██║██╔════╝████╗ ████║██╔══██╗╚══██╔══╝██║██╔════╝ # █████╗ ██████╔╝███████║██║ █████╔╝ █████╗ ██║ ███████╗██║ ███████║█████╗ ██╔████╔██║███████║ ██║ ██║██║ # ██╔══╝ ██╔═══╝ ██╔══██║██║ ██╔═██╗ ██╔══╝ ██║ ╚════██║██║ ██╔══██║██╔══╝ ██║╚██╔╝██║██╔══██║ ██║ ██║██║ # ███████╗██║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║ ███████║╚██████╗██║ ██║███████╗██║ ╚═╝ ██║██║ ██║ ██║ ██║╚██████╗ # ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ # # "ANSI Shadow" from http://patorjk.com/software/taag/ # Version: ${version} # Build time: ${timestamp} # Wiki: https://eproject.gitbook.io/epacketschematic/ # -- # General configuration # -- # After change, reload needed! [/eps reload] # Will the plugin be enabled? After change, restart needed! enabled: true # AntiCheat Compatibility Mode (experimental) # Prevents AntiCheat false positives caused by ePacketSchematic fake block packets. anticheat-bypass: true
messages.yml
YAML:# # ███████╗██████╗ █████╗ ██████╗██╗ ██╗███████╗████████╗███████╗ ██████╗██╗ ██╗███████╗███╗ ███╗ █████╗ ████████╗██╗ ██████╗ # ██╔════╝██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝██╔════╝██╔════╝██║ ██║██╔════╝████╗ ████║██╔══██╗╚══██╔══╝██║██╔════╝ # █████╗ ██████╔╝███████║██║ █████╔╝ █████╗ ██║ ███████╗██║ ███████║█████╗ ██╔████╔██║███████║ ██║ ██║██║ # ██╔══╝ ██╔═══╝ ██╔══██║██║ ██╔═██╗ ██╔══╝ ██║ ╚════██║██║ ██╔══██║██╔══╝ ██║╚██╔╝██║██╔══██║ ██║ ██║██║ # ███████╗██║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║ ███████║╚██████╗██║ ██║███████╗██║ ╚═╝ ██║██║ ██║ ██║ ██║╚██████╗ # ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ # # "ANSI Shadow" from http://patorjk.com/software/taag/ # -- # General messages # You can use %prefix% to replace it for the currently prefix in config.yml # If you want to, you can use RGB colors (Gradients, Solid) -> more on our wiki # Our systems supports PAPI # -- prefix: "<BOLD><GRADIENT:FBF408:FFFC73>PacketSchematic</BOLD></GRADIENT> &8»&7" invalid-command: "%prefix% &cInvalid command! Type '/ps help' for help!" no-permission: "%prefix% &cYou don't have permission to do that!" console-not-supported: "%prefix% &cYou can't do that from console!" player-not-found: "%prefix% &cPlayer not found!" schematic-not-found: "%prefix% &cSchematic not found!" plugin-reloading: "%prefix% &7Reloading plugin..." # Custom Placeholders for this message: # %time% - Reload time in milliseconds plugin-reloaded: "%prefix% &7Plugin reloaded in %time%ms!" # Custom Placeholders for this message: # %new_version% - New version of the plugin # %current_version% - Current version of the plugin update-available: "%prefix% &7There is an %new_version% update available!"
Changes in detail:
Core Rewrite & New Systems
- Rebuilt the entire plugin on the eStudio Command Framework for faster, modular command handling.
- Fully refactored async-safe system with minimal main-thread impact.
- Every internal mechanic — PlayerMechanic, SchematicMechanic, AntiCheatFixerMechanic — was rewritten from scratch for modern server performance.
- New intelligent caching.
- Reworked config systems (AuxData).
A solution for AntiCheat compatibility:
AntiCheatFixerMechanic
- Detects when players interact with fake schematic blocks and temporarily enables “safe flight”.
- Instantly disables flight if the player attempts to gain altitude.
- Prevents false positives in popular AntiCheat plugins (Spartan, Vulcan, NoCheatPlus, etc).
- Uses:
- Smart AABB (bounding box) detection
- Column and nearby block analysis
- Cached bounds for minimal performance impact
- Controlled by the config option:
(Enabled by default)YAML:fix-anticheat: true
The new API system allows developers to extend ePacketSchematic with ease:
Developer API
As I wrote above:
- Access loaded schematics, loaded active player schematics.
- You can get location of active player schematics and move it/teleport it/remove it as you want.
The official API JAR and documentation page will soon be available directly on BuiltByBit and the official eStudio Wiki.
Until then, developers can download the API from our eStudio Discord server. (API includes Javadoc documentation)
Seamlessly integrates with PlaceholderAPI (Ideal for script developers):
PlaceholderAPI Integration
%eps_schematic_loaded_<identifier>%
→ Returns true or false depending on whether the player has that schematic loaded.
Improved File Format
- Enhanced the .epscheme format introduced in 0.1.8A.
- Now 10× smaller and loads instantly using async GZIP compression.
- Palette-based storage and long-encoded coordinates for extreme performance.
Schematic Logic Improvements
- /eps teleport and /eps move now use a single combined packet.
- Smarter block comparison system eliminates redundant updates.
- Automatically restores real-world blocks when removing fake ones.
- Player can only have 1 active schematic of the same type loaded.
Performance Optimizations
- 60–80% fewer packets sent during schematic updates.
- Async-safe block traversal and optimized chunk segmentation.
- Reduced scheduler usage and memory footprint.
- Up to 10× faster load times for large schematics. So you can fastly load EXTREMELY BIG schematics.. It´s really crazy
.
(Powered by our own custom packet-based world handling system, built from the ground up for packet-level world simulation.
This technology will soon allow developers to react to any block purely through packets, enabling advanced interactions and logic without modifying the real world at all.)
Config & Language Updates
- config.yml and messages.yml were both updated with new options and cleaner formatting.
It is strongly recommended to regenerate or re-copy these files from the latest release
(or manually merge new lines) to ensure full compatibility.
Other Fixes & Improvements
- Fixed all known issues.
- Improved exception handling and debug logging.
- Polished player-specific schematic visibility logic.
I hope that I have tested everything.
Changes
- New File Format: "epscheme"
- Replaced the previous JSON format with the new, optimized "epscheme" format.
- This change reduces schematic file sizes by up to 10x!!
- Memory and Data Storage Optimization:
- Blocks are now stored in palettes, where each coordinate references a palette key.
- Optimized coordinate storage by replacing strings with long-encoded locations.
- These changes significantly reduce RAM usage and improve file storage efficiency.
- Block traversal is now much faster thanks to this new system.
- Expanded Version Support:
- Added and fully tested support for all versions from Paper 1.19 to the latest release.
- Support for older versions required a major refactor of the codebase.
- Core Updates:
- Upgraded the entire core to the latest version for improved stability and performance.
- Refactored and improved code readability to make future updates easier.
- Improved Plugin Logging:
- Enhanced logging to provide clearer and more detailed information about plugin operations.
- Helps with troubleshooting and ensures better oversight during schematic operations.
