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
    • levitation
    • jump boost
    • blindness
    • slow falling
    • dolphins grace
    • correct expiring (count ticks)
  • hunger
  • swimming
  • elytra
  • enchantments
    • depth strider
    • frost walker
    • soul speed
    • swift sneak
    • riptide
  • armor (e.g. netherite)
  • items
    • usable items (e.g. bow, shield)
    • trident
  • damage
  • blocks
    • collisions
    • block motion (e.g. piston, shulker box)
    • block pushing
    • prevent unsneak
    • climbing (e.g. ladders)
    • scaffolding
    • stepping (e.g. stairs)
    • powder snow
    • bed/slime
    • honey
    • cobweb
    • soul sand
    • fences
  • vehicles
    • riding (e.g. horse, strider, ...)
      • jump strength
      • time on space bar
    • boats
    • minecarts
    • ...
  • fluids
    • water (also soul sand/magma blocks)
    • lava
  • flying (creative)
  • spectator
  • death
  • entities
    • cramming/pushing
  • auto jump
  • sleeping
  • fishing rod?
  • precision loss (high coordinates 20M+)
  • world border
  • end of world
  • abilities (flying, walk speed, fly speed)

Additional entity physics

  • rideable entities
  • items
  • projectiles

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.

Description
A pixlyzer extension to extract physics unit testable data
Readme 224 KiB
Languages
Kotlin 100%