spockbot.plugins.helpers.physics module

A Physics module built from clean-rooming the Notchian Minecraft client

Collision detection and resolution is done by a Separating Axis Theorem implementation for concave shapes decomposed into Axis-Aligned Bounding Boxes. This isn’t totally equivalent to vanilla behavior, but it’s faster and Close Enough^TM

AKA this file does Minecraft physics

class spockbot.plugins.helpers.physics.PhysicsCore(pos, vec, abilities)

Bases: object

jump()
move_angle(angle, radians=False)
move_target(vector)
move_vector(vector)
sprint()
walk()
class spockbot.plugins.helpers.physics.PhysicsPlugin(ploader, settings)

Bases: spockbot.plugins.base.PluginBase

apply_accel()
apply_drag()
apply_vector(mtv)
client_tick(name, data)
events = {'physics_tick': 'physics_tick', 'client_tick': 'client_tick', 'client_unmount': 'resume_physics', 'client_mount': 'suspend_physics', 'client_position_update': 'skip_physics'}
get_block_slip()
get_mtv()
physics_tick(_, __)
pl_announce = ('Physics',)
requires = ('Event', 'ClientInfo', 'Net', 'World')
resume_physics(_=None, __=None)
skip_physics(_=None, __=None)
suspend_physics(_=None, __=None)