Skip to content

neo is an experimental movement emulator for Minecraft

License

Notifications You must be signed in to change notification settings

thehydrogen/neo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

neo

Neo is a barebones, basic movement emulator for Minecraft's Java Edition physics (for version 1.8)

Disclaimer

Neo comes with absolutely no warranty or support, use at your own risk.

Neo is not intended to be used as provided, it is a base to understand movement emulation and continue to add support for further scenarios.

Comments have been left in places where fixes are required.

NEO IS CURRENTLY UNTESTED. EXPECT ISSUES

What's missing?

  • Ladders - comments have been left where they need to be implemented. Refer to MCP
  • Potion effects - to be implemented in jumping and aiMoveSpeed
  • Water and lava movement - to be implemented in move entity with heading. Refer to MCP
  • Motion and bounding boxes for colliding blocks - look in me.hydro.emulator.collision. Refer to MCP
  • Velocity/Knockback
  • Post 1.8 clients

Usage

Each player you're emulating should have their own Emulator object.

On a flying packet, call Emulator#runIteration with an IterationInput object, which can be created like so;

final IterationInput iteration = IterationInput.builder()
    .to(...) // location from the flying packet
    .yaw(...) // current yaw
    .ground(...)
    .jumping(...) // you'll want to bruteforce this
    .forward(...) // you'll want to bruteforce this
    .strafing(...) // you'll want to bruteforce this
    .sprinting(...) // you'll want to bruteforce this
    .usingItem(...) // you'll want to bruteforce this
    .hitSlowdown(...) // you'll want to bruteforce this
    .sneaking(...)
    .lastReportedBoundingBox(...) // from location, as a bounding box
    .build();

This method returns an IterationResult object.

Upon finding the correct result, run Emulator#confirm on the IterationHolder received from the IterationResult.

A demo in code can be found in the com.example package.

License

Neo is licensed under the MIT License. Have fun

About

neo is an experimental movement emulator for Minecraft

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages