
Pool and Billiards Resourcepack
The Resourcepack for Pool and Billiards Datapack
v1.2.0 for Minecraft 1.21 and future versions
release7 мая 2026 г.v1.2.0
This is the first public release where the default datapack fully supports non-operators and survival-mode players. It also comes with recipe-based item access and several small fixes/refinements.
Special Thanks
- Special thanks to the community voters who emphasized the need of non-operator and survival-mode player support.
Main changes
-
The default datapack is now the modified Datapack-NoOP version.
- It supports survival-mode players and players without command permissions.
- The original OP/function-call version is renamed to Datapack-Base and kept mainly for development. It will only appear in source code repository.
- Some advanced (but rarely used) features may still require command permissions (changing TP duration, gamerule tweaks, etc.).
-
NoOP version added trigger-based command access.
- Use
/trigger swPool__trigger set 1to open the command window. - If no language is selected and the command window does not show correctly, the datapack will prompt you to choose a language.
- Most settings may be reset when updating to this version, so you may need to re-apply them.
- Use
-
Added recipe support for survival players in Minecraft 1.20.5+.
- When recipes are enabled and the player is not in Creative mode, cue sticks and pool tables must be obtained through crafting.
- This crafting requirement can be turned on or off.
- Recipes are not supported in 1.20.4 and older versions because recipe outputs cannot store custom components, and I do not want to replace existing vanilla recipes.
- Recipes are stored in
Recipesfolder and are added to the datapacks by the building script. To some degree, you can customize the registry and rebuild the datapack to use your own recipes.
Survival / NoOP features
-
Added craftable cue sticks.
- Cue sticks are unbreakable bows.
- During a game, please keep your offhand slot empty. The game may give you arrows with a green check mark, invisible to other players, so you can keep shooting.
- Before entering the practice mode, please keep your inventory as empty as possible. All variants of balls will be given to you.
-
Added craftable pool table cores.
- A table core is a custom chest that stores the selected table cloth and rim type information.
- The recipe is intentionally designed to be stratightforward for easier setup.
- When placed, the datapack detects the chest location, summon a temporary helper entity, and uses the item data to set the table cloth and rim settings.
- The table core item is placed inside the chest, so the player can cancel placement and take back the same item.
- The table placement message is slightly different from the normal global table setup message.
- When the player confirms placement, the chest and the item inside are removed and the table is created at the chest location.
- The temporary helper entity lasts for 60 seconds. If it expires, the player needs to take the table core item out of the chest and place it again.
Settings
- Ball spinning is now ON by default. Max number of commands in a tick is automatically raised to 500000.
Fixes and refinements
- Small efficiency improvements that reduces the use of helper entities during collision detection.
- Optimized the resource pack file structure for custom cloths.
- Refined the corner pocket resource pack models for more accurate rendering.
- Fixed a 9-ball respot bug when auto judge is off.
- Trimmed all scoreboard objective names so character count is less or equal to 16.
- Provide a copy of readme in the datapack folders.
Documentation
- Added a section for non-OP users, including survival-mode users.
Testing
- Tested datapack without command permission in several versions. (1.16, 1.17, 1.18, 1.20.6, 1.21.2, 1.21.8, 26.2)
- Tested crafting recipes in several 1.20.5+ versions. (1.20.6, 1.21.2, 1.21.8, 26.2)
v1.2.0 for Minecraft versions 1.16 to 1.20
release7 мая 2026 г.See the log for 1.21plus
v1.1.0 for Minecraft 1.21 and future versions
release19 апреля 2026 г.v1.1.0
The stable release v1.1.0 building upon v1.1.0-rc.1.
Most features were introduced in the release candidate, with this version focusing on additional testing, fixes and improvements.
Special Thanks
- In the release candidate, some features and improvements were inspired by discussions with the community
Bug Fixes since v1.1.0-rc.1
- Fixed a critical issue where collision detection did not correctly adjust based on relative speed
- Fixed a syntax error in the detect-out-of-table function in mc1.21+
- Fixed an issue where random quaternions were not being rendered before any shot was taken
- Fixed a bug in 8-ball (solid/stripe and red/yellow logic) where the target ball was not correctly switched to the black ball
Improvements since v1.1.0-rc.1
- Made
keepongoingsessionthe default behavior - Made break power and cue ball deflection values player-specific instead of global
- Added
terminate current gamebutton to the game lobby
Testing
- Conducted additional multiplayer testing via LAN worlds
v1.1.0 for Minecraft versions 1.16 to 1.20
release19 апреля 2026 г.See the change log for mc1.21plus
Candidate 1 for Minecraft 1.21 and future versions
release17 апреля 2026 г.v1.1.0-rc.1
Special Thanks
- Some features and improvements were inspired by discussions with the community.
Performance and Logic
- Confirmed compatibility with Minecraft version 26.1.2
- Improved installation notices for new players
- Allowed cheats by default
Improvements
- Make required configuration settings more explicit
- Updated the color of installation messages for better visibility (Credit: Bilibili @74071024)
- Included required settings directly within the table generation messages
- Added automatic prompts to facilitate language selection
Bug Fixes
- Fixed a non-critical bug where 9-ball games continued after officially ending
- Fixed a non-critical bug in practice mode where undoing a shot incorrectly removed the cue ball from the inventory
- Added detection for "ball out of table" bug; automatically undoes the shot and prompts the user to report if it persists
- Fixed an issue with the object ball "ball-in-hand" indicator in multiplayer caused by target selectors
- Fixed game lag caused by entities (armor stands) experiencing very high angular velocity
Table Settings
- Added particle preview for table size (Credit: CurseForge @Snezfennico and Bilibili @1383472410)
- Added table rim customization using various trapdoors and signs (Credit: CurseForge @Snezfennico)
- Enhanced overall table rim aesthetics (Credit: Bilibili @74071024)
- Improved the structure of the table
- Implemented empty space detection during placement preview; tables can still be placed regardless of result (Credit: Bilibili @1383472410)
Game
- Added a custom rule window
Auto-judge
-
Manual enforcement mode (when auto-judge is OFF):
- Bypasses most of the progression system, allowing players to enforce rules manually
- Displays the ball-in-hand command to all players after every turn
- Defines valid ball-in-hand scopes in chat:
- 8-Ball and 9-Ball: Anywhere
- UK 8-Ball: Kitchen (includes description)
- Snooker: D-zone (includes description)
-
Snooker when auto-judge is OFF:
- Added a score adjustment window
- Added the ability to manually trigger a ball-in-hand state to replace all colored balls
- Original ball spots are now visually indicated using particles
- Added a refresh score button
-
9-Ball when auto-judge is OFF:
- Retained the respot function
Rule Adjustments
-
Added a toggle for hit-rail requirements (Credit: CurseForge @Snezfennico)
- When disabled, balls do not need to touch the rail to avoid a foul in 8-Ball and 9-Ball
-
Added a toggle for notifications showing which specific rule was violated
-
Added a toggle to allow role-switching in single-player 8-Ball games
-
Consolidated rule feedback, hit-rail, and auto-judge statuses into the same settings window
-
Implemented manual force setting and adjustment; provided 100 levels in the cue ball strike window to override bow charge mechanics
Display Customization (Resource Pack)
General idea inspired by CurseForge @Snezfennico
-
Table cloth color options
-
Ability to customize cue stick models
- Updated logic to use custom tags instead of custom models to detect items
- Sets the technical foundation for future variants of cue sticks and shots
-
Ball appearance customization (Low priority, deferred)
Localizations & Documentation
-
Renamed "Chinese 8-Ball" to "8-Ball" for international feel
-
Auto-judge now explicitly instructs valid ball-in-hand locations based on the active game mode
-
Registered and finalized current rule/equipment settings into the system
-
Added clickable functions within setting help menus
- Indicated that OP permissions are required for set-value functions
-
Improved Markdown formatting and added images to the changelog
- Document key settings and helper functions (language, load, command window, settings)
- Clarified table zones by noting that the Kitchen and D-zone are located in the "long positive direction"
- Added a warning advising players not to stand too close to the table when placing balls
- Updated documentation messages regarding allowed cheats
-
Added version number to
pack.mcmeta
To Do Before Full Release
-
Conduct more multiplayer testing
-
Please contact me with bugs!
-
Detect-out-of-table function is still buggy! I will fix!
