
PacketBlocks
A lightweight Spigot/Paper library for creating and managing client-side, packet-based Minecraft blocks.
🩹 PacketBlocks - v1.2.4 Hotfix
🐛 Fix
- Fixed an issue where
PacketBlockGroupblocks outside a chunk could wrap and render on the wrong side.
🔧 Details
- Blocks are now validated against the target chunk before being written.
- Prevents cross-chunk wraparound and visual inconsistencies.
Safe to update. No API changes.
- Fixed an issue where
📦 PacketBlocks — v1.2.3 Group Updates
📌 What’s New
This release enhances the PacketBlocks API by adding support for adding and removing blocks from existing
PacketBlockGroupinstances. These new methods make it significantly easier to modify block groups after creation.✅ Highlights
- Added methods in
PacketBlockManagerto:- Add multiple blocks to a group (
addBlocksToGroup(...)) - Add single blocks to a group (
addBlockToGroup(...)) - Remove multiple blocks from a group (
removeBlocksFromGroup(...)) - Remove single blocks from a group (
removeBlockFromGroup(...))
- Add multiple blocks to a group (
🧠 Why This Matters
Previously, block groups were static after creation. With this update, developers can dynamically modify groups at runtime!
- Added methods in
🔧 Hotfix - 1.2.2
Summary
- Ensures
updateConsumeris invoked when a viewer is added and updated - Fixes cases where viewers were not receiving updates after being registered
Impact
- Viewer state is now correctly synchronized on add
Notes
- No breaking changes
- Ensures
PacketBlocks v1.2.1 — Hotfix Release
🛠 Fixed
An oversight in the previous version caused any updates to the data in a PacketBlock or PacketBlock group to not properly reflect in updates sent to players.
This is a hotfix release, intended for all users of v1.2.0 to ensure block updates work as expected.
📦 PacketBlocks — 1.2.0 Release Notes
This release introduces grouped packet blocks, along with a substantial internal refactor to improve extensibility, clarity, and long-term maintainability.
🚀 New Features
✅ Packet Block Groups
PacketBlocks now supports grouped blocks, allowing multiple packet blocks to behave as a single logical unit.
With PacketBlockGroup, you can:
- Treat multiple blocks as one entity
- Share metadata and state across a block cluster
- Handle interactions (break, place, update) at the group level
- Resolve BlockData dynamically per group
This enables more advanced structures such as multi-block machines, large custom blocks, or linked visual elements.
Group logic is implemented in
net.bitbylogic.packetblocks.group.PacketBlockGroup
🔄 Group-Aware Packet Handling
Packet adapters have been updated to detect and respect block groups automatically:
BlockBreakAdapterBlockPlaceAdapterBlockUpdateAdapterChunkLoadAdapter
Each adapter now:
- Detects whether a block belongs to a group
- Resolves group-specific BlockData
- Applies packet overrides consistently across the entire group
This ensures correct rendering and interaction behavior on the client.
🧩 Event Improvements
Existing events now support group context, including:
PacketBlockStartBreakEventPacketBlockBreakEventPacketBlockInteractEvent
Event consumers can now determine whether an interaction applies to:
- A single block
- A block group
🚀 PacketBlocks v1.1.1 — Block Position Keying Fix & Stability Improvements
⚙️ Internal Changes
- Migrated block indexing to WorldPosition rather than Location
- PacketBlock's may now have a set of BoundingBoxes rather than a single one.
Performance Improvements
This update should drastically improve lookup times and raytracing performance using the PacketBlockUtil#rayTrace method.
🚀 PacketBlocks v1.1.0 - Improved Bounding Boxes & Ray Tracing
✨ Changes
- Reworked bounding boxes to be identified by block state, allowing accurate shape retrieval for all block variants
- Overhauled packet block ray tracing to more accurately detect blocks
- Improved reliability when interacting with non-full and complex block shapes
🚀 PacketBlocks v1.0.2 — Block Update Fixes
✨ What's New
- ✔ Fixed player-specific block updates in
BlockUpdateAdapter - 🧹 Removed unused parameter in
handleStopDestroyfor cleaner code.
- ✔ Fixed player-specific block updates in
🧱 PacketBlocks v1.0.1 — Compatibility & Stability Update
🔄 What’s Changed
-
Refactored internal package structure
ThePacketBlockManagerand related classes have been moved from
net.bitbylogic.packetblocks.manager→net.bitbylogic.packetblocks.block.
This improves organization and clarity within the codebase. -
Minor performance improvements during fake block updates and chunk handling.
⚠️ Developer Notice
If you encounter:
NoSuchMethodError: net.bitbylogic.packetblocks.PacketBlocks.getBlockManager()you are running an outdated version of PacketBlocks.
Please update your server’s JAR to this release and rebuild any dependent plugins against it.💡 Recommended Action
- ✅ Replace old PacketBlocks JAR with this one on your server.
- 🔁 Rebuild dependent plugins (if you use the API).
- 🧩 Confirm
allow-flight=trueinserver.propertiesto avoid player kicks on fake blocks.
-
PacketBlocks v1.0.0
PacketBlocks is a Spigot/Paper library that allows you to create and manage client-side blocks visible only to certain players.
Simulate block breaking, manage per-player visibility, and use utility features like bounding boxes and animations.📖 For full installation instructions and API usage, see the GitHub README.
🌐 View the Javadocs: https://bitbylogics.github.io/PacketBlocks/

