mirror of
https://gitlab.bixilon.de/bixilon/pixlyzer-physics.git
synced 2025-08-03 10:16:54 -04:00
2.8 KiB
2.8 KiB
pixlyzer-physics
This pixlyzer module runs physics test on minecraft and extracts data from it.
Use cases
- Anti cheat development
- 3rd party clients/servers to not get banned, e.g. integration tests in Minosoft
- Maybe mojang themselves? (check if nothing broke in their messy code)
What affects movement (client side)?
(This list aims to be perfect, but you know its probably not)
- input (keys, mouse)
- walking
- sprint
- sneak
- rotating
- jumping
- gravity
- potions/modifiers
speed/slowness(sent by server)- levitation
- jump boost
- blindness
- slow falling
- dolphins grace
correct expiring (count ticks)(sent by server)
- hunger
- swimming
- elytra (also boosting with firework rocket)
- enchantments
- depth strider
frost walkersoul speed- swift sneak
- riptide
- armor
- leather boots on powder snow
knockback resistance
- items
- usable items (e.g. bow, shield)
- trident (with riptide)
damage- blocks
- collisions
- block motion (e.g. piston, shulker box)
- block pushing
- prevent unsneak
- climbing (e.g. ladders)
- scaffolding
- stepping (e.g. stairs)
- honey
- soul sand
- fences
- bouncing
- bed
- slime
- slow movement
- powder snow
- sweet berry bush
- cobweb
- slippery movement
- ice
- vehicles
- riding (e.g. horse, strider, ...)
- jump strength
- time on space bar
- boats
- minecarts
- ...
- riding (e.g. horse, strider, ...)
- fluids
- water (also bubble column with soul sand/magma blocks)
- lava (also dimension
ultra_warm
)
- flying (creative)
- spectator
- gamemode
- and spectating other entities
- death
- entities
- cramming/pushing
- auto jump
- sleeping
- fishing rod?
- precision loss (high coordinates 20M+)
- world border
- end of world (everything >= 30M)
- abilities (flying, walk speed, fly speed)
- tags
- tags
Additional entity physics
Ridable entities
(only client controlled)
- strider (with warped fungus on a stick)
- pig (with carrot on a stick)
- all horses (with controls and jumping)
- boat
Client calculated
- items
- projectiles
- firework rockets
- fishing bobber
Non physics things
- client side biome noise
- digging times
About consistency
Tests are general non-mutable, so a diff is possible between versions. New tests can/will always be added, existing tests may only be changed if they break or are considered wrong.
Parkour code (attach debugger in ClientPlayerEntity
, where getTutorialManager
is called):
"f="+input.pressingForward+",b="+input.pressingBack+",l="+input.pressingLeft+",r="+input.pressingRight+",j="+input.jumping+",sn="+input.sneaking+",sp="+client.options.sprintKey.isPressed()+" --> "+getX()+"|"+getY()+"|"+getZ()+" "+yaw+"|"+pitch