
Pool and Billiards
Immersive, fully playable single and multiplayer pool games built entirely in Vanilla Minecraft.
v1.2.0 for Minecraft 1.21 and future versions
release12 мая 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
release12 мая 2026 г.See the log for 1.21plus
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
