
Pool and Billiards
记得安装资源包!Remember to install the resource pack! One of the most advanced open-source pool and billiards games for Minecraft Java Edition, featuring realistic physics, snooker, eight-ball, nine-ball, multiplayer, and AI opponents.
for Minecraft 1.21 and future versions
Список изменений
1.3.4
This update focuses on a "distributed" bot thinking strategy, free ball rule for Snooker, and additional performance optimization and fixes.
Improvements
-
Assigned fixed UUIDs to helper entities and the pool-table marker to make entity selection slightly faster.
Helper entities
rhp1–rhp3:UUID:[I;797665,435737,0,4-6] # swPool, helper, 0, #4-#6 000c2be1-0006-a619-0000-00000000000[4-6]Pool-table marker:
UUID:[I;797665,82253,0,0] # swPool, table, 0, 0 000c2be1-0001-414d-0000-000000000000 -
Reduced the frequency of
OnGroundNBT checks to once every 4 ticks. -
Reduced entity position reads after movement by accumulating position from the previously stored position and movement speed instead. Full position reads are now performed once every 10 ticks.
-
For Minecraft 1.21+, reduced unnecessary calculations during spin rendering by normalizing quaternions less frequently, now once every 10 ticks.
These optimizations reduced active-gameplay MSPT by up to approximately 17% compared with v1.3.3 in a testing scenario outlined in README.
Changes / Additions
-
Dynamic pool-table scaling now supports ball radii above
1250, up to1500. Please use multiples of 250 for best results. -
If the ball-spinning feature is turned off, balls will no longer spin during the pocketing animation.
-
The bot can now distribute its thinking time across multiple ticks. This helps prevent short lag spikes, and the maximum number of simulation steps per tick can be configured based on the processing power of the client or server.
-
Fixed static ball-rendering issues when the bot is thinking.
-
Added a slight penalty for shots that are too straight, as they often make positioning for the next shot harder.
-
Added an [experimental] Snooker free ball mechanism
- After a foul, the datapack can detect whether the incoming player is snookered and award a free ball when applicable.
- The first ball hit is treated as the nominated free ball.
- If the nominated free ball is potted, it scores the same value as the original ball on.
- A free ball is not awarded when the incoming player already has ball in hand in the D-Zone.
-
Revised Chinese language terminology: ball in hand (cue ball replacement) is now referred to as 手中球 in all games, while a Snooker free ball is referred to as 自由球.
-
Shortened the name of release zip files and included version number.
Fixes
- Fixed a 9-ball rule issue where potting a lower-numbered ball after illegally hitting the next higher-numbered ball first was not correctly identified as a foul.
- Fixed a bug where players sometimes could not shoot when pressing Shift.
