v1.3.7-mc1.21plus
What's new
v1.3.7
This update introduces a fully playable Snooker bot, improves bot planning and shot selection, and adds more options for adjusting difficulty and physics accuracy.
New Features
Added a fully playable Snooker bot!
- The bot aims to maximize its score while considering the difficulty of future shots.
- Defensive shot searches are triggered when attacking options are poor or when a snooker is needed to win.
Added search depth 2 for bot players.
- The bot can now simulate potential follow-up shots to make better decisions about cue-ball positioning.
- This requires additional computation but is now practical thanks to performance optimizations introduced in previous updates.
Added adjustable shot-force accuracy for bot players.
- Random variation can be applied to the bot's shot force, allowing players to adjust its difficulty.
- Higher accuracy makes the bot more consistent, while lower accuracy introduces more imperfections.
Added an adjustable collision detection accuracy setting.
- Controls how many nearby balls the physics engine checks for potential collisions.
- Higher settings reduce the risk of missed collisions, especially when balls are tightly packed together, as in Snooker, but slightly increase computational load.
- Lower settings are generally sufficient for normal gameplay and offer better performance.
Bot Improvements
Improved shot evaluation to favor more reasonable cue-ball positioning.
- Added penalties for simulated shots involving excessive cue-ball collisions, as complex trajectories are less predictable.
- Increased penalties for cue-ball collisions with pocket edges, where small inaccuracies can increase the risk of scratching.
- Added gradual penalties for cue-ball positions near cushions, where subsequent shots may be more difficult.
- These adjustments reduce the estimated value of risky follow-up opportunities without completely discouraging difficult or necessary shots, such as breaking up ball clusters.
Improved the bot's simulation and evaluation scheduler to reduce unexpected deadlocks and interruptions.
Technical Improvements
Added direct position updates using entity NBT as an alternative to teleportation-based ball movement.
- Simplifies movement calculations, improves positioning accuracy, and reduces the number of commands needed to update ball positions.
- In testing, average motion load decreased by 44.8%, making the new method approximately 1.8× faster.
- However, the original teleportation method truncates small displacements, leaving a slight separation between balls. The more precise NBT method reduces this separation, potentially increasing the likelihood of balls clipping through each other due to numerical errors.
- This feature is disabled by default. To enable it, run
/function app:settings/pool/motion/use_nbt.
For Minecraft 1.17+, Snooker now uses marker entities instead of area effect clouds where applicable.
Other Changes
Removed Simulate ASAP mode.
- Distributing simulations across multiple game ticks now provides a more practical way to manage computational load.
- Maintaining a separate ASAP simulation path is no longer worthwhile, especially with the introduction of more advanced planning.
Removed the option to choose between 5 and 10 force/spin combinations per shot and the default is set to 10 combinations, simplifying bot configuration.
This mod has no additional files

