MCPcopy Index your code
hub / github.com/CASELOAD7000/knockback-sync

github.com/CASELOAD7000/knockback-sync @1.3.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.3.2 ↗ · + Follow
49 symbols 124 edges 13 files 5 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Minecraft doesn’t factor in network latency when determining a player's actions on the server. This causes the server to receive outdated information that doesn’t reflect the player's clientside position. As a result, players take negative velocity when they're on the ground clientside, but not serverside.

This plugin handles knockback as if it were calculated clientside, ensuring that no player is at a disadvantage, regardless of their own or their opponent’s connection.

Frequently Asked Questions (FAQ)

Does this change put high ping players at a disadvantage?

It depends on the player. Some may notice a difference if they're used to relying on high ping to reduce knockback. For others, it could actually be an advantage.

How does this change benefit high ping players?

Knockback control. For example, it will be easier to escape crit chains and punish crit.

Why was the configurability of ping offset removed?

It promotes consistency across all servers. Extensive testing with top players has shown that an offset of 20 provides a balanced experience for everyone.

How do I change the ping offset?

You must run a modified build of KnockbackSync. The variable can be changed inside of the PlayerData class.

License

GNU General Public License v3.0 or later

See COPYING to see the full text.

Core symbols most depended-on inside this repo

Shape

Method 36
Class 13

Languages

Java100%

Modules by API surface

src/main/java/me/caseload/knockbacksync/manager/PlayerData.java13 symbols
src/main/java/me/caseload/knockbacksync/KnockbackSync.java7 symbols
src/main/java/me/caseload/knockbacksync/util/MathUtil.java4 symbols
src/main/java/me/caseload/knockbacksync/manager/PlayerDataManager.java4 symbols
src/main/java/me/caseload/knockbacksync/manager/CombatManager.java4 symbols
src/main/java/me/caseload/knockbacksync/listener/PlayerJoinQuitListener.java3 symbols
src/main/java/me/caseload/knockbacksync/runnable/PingRunnable.java2 symbols
src/main/java/me/caseload/knockbacksync/listener/PlayerKnockbackListener.java2 symbols
src/main/java/me/caseload/knockbacksync/listener/PlayerDamageListener.java2 symbols
src/main/java/me/caseload/knockbacksync/listener/PingReceiveListener.java2 symbols
src/main/java/me/caseload/knockbacksync/command/subcommand/ToggleSubcommand.java2 symbols
src/main/java/me/caseload/knockbacksync/command/subcommand/PingSubcommand.java2 symbols

For agents

$ claude mcp add knockback-sync \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page