中文在下 / English below.
A Paper plugin that restores the 1.8.8 PvP feel on Minecraft 26.x
servers (Mojang's new year.drop versioning — covers 26.2 "Chaos Cubed"),
while keeping Trident and Mace fully vanilla so their modern
mechanics stay intact.
Designed to be AC-safe: compatible with Grim, Matrix, and Vulcan out of the box — no NMS, no reflection, no packet spoofing.
| Area | Behavior |
|---|---|
| Attack cooldown bar | Removed via attack_speed AttributeModifier (ADD_NUMBER +1024). |
| Melee damage scaling | Always 100% full-charge hits, matching 1.8. |
| Knockback (swords / axes / fists) | 1.8.8 formula: halve + 0.4, y-cap 0.4, sprint and Knockback enchant additive. |
| Sweep attack | Cancelled for legacy weapons. |
| Sword right-click block | -50% incoming melee damage during the hold window. |
| Trident / Mace | Untouched. Smash shockwave, Density, Wind Burst, Riptide, Channeling, Impaling — all vanilla. |
- Java 21+
- Paper 26.1.2+ (or any Paper fork, e.g. Purpur, Folia-compatible downstream)
Server jars from 26.1 onward are Mojang-mapped; this plugin does not touch NMS, so nothing else needs migrating.
- Download
LegacyPvp-1.0.0.jar(see Build) and drop it intoplugins/. - Start the server. A default
plugins/LegacyPvp/config.ymlis generated. - Edit, then
/lpvp reload.
With Maven:
mvn clean packageWithout Maven (self-contained script — downloads paper-api + transitive deps, compiles, packages):
./build.shOutput: target/LegacyPvp-1.0.0.jar.
| Command | Description |
|---|---|
/legacypvp reload |
Reload config.yml. |
/legacypvp info |
Show current settings. |
Alias: /lpvp. Permission: legacypvp.admin (default: op).
Every option is documented inline in config.yml with type, default,
and range. Notable knobs:
attack-speed.value— cooldown-bar killer (default1024).knockback.*— full 1.8 formula; tune for harder/softer combat.damage.sword-block.*— classic right-click sword block.modern-weapons— whitelist of items that keep vanilla mechanics (defaults:TRIDENT,MACE).
Tested design against Grim, Matrix, Vulcan:
- Velocity changes go through
Player#setVelocity, which triggers the normal velocity packet — AC prediction stays aligned. - Attribute changes use a properly-keyed
AttributeModifier, synced through the standard attribute packet. - No NMS, no reflection into internals, no teleport hacks, no packet spoofing.
- No velocity applied in a later tick — everything happens inside the same event chain as the vanilla knockback it replaces, so Grim's knockback calibration window stays intact.
The heart of the plugin is CombatListener:
- On
EntityPushedByEntityAttackEvent(causeENTITY_ATTACK), we check the attacker's main hand. If it is a modern weapon, we return immediately — mace smash / wind burst / trident behavior is fully preserved. - Otherwise we cancel the vanilla knockback and hand the victim to
KnockbackHandler, which applies the 1.8.8 formula. - A per-victim dedupe flag (cleared next tick) swallows the secondary knockback event vanilla fires for sprint / Knockback-enchant bonuses, since our formula already folded those into one write.
- Sweep damage from legacy weapons is cancelled in a separate handler.
- Sword-block is a simple "right-click a sword refreshes a timed window"
plus a damage multiplier on
EntityDamageByEntityEvent.
PolyForm Noncommercial 1.0.0 — source-available, non-commercial use only.
You may:
- Use, modify, and redistribute the plugin for personal, hobby, educational, research, or community-server purposes.
- Fork it, publish patches, run it on a free-to-join server.
You may not:
- Use it on a server that monetizes gameplay (pay-to-win shops, ranks-for-money, paid access, etc.) without a separate commercial license from the authors.
- Sell the plugin, or bundle it into a paid product/service.
If you want a commercial license, open an issue.
在 Minecraft 26.x(Mojang 的新 year.drop 版本规范,包含 26.2
"Chaos Cubed")的 Paper 服务端上,还原 1.8.8 经典 PVP 手感,同时
完全保留高版本独占的 三叉戟(长矛) 和 重锤 的原版机制。
设计为 反作弊友好:Grim / Matrix / Vulcan 开箱兼容 —— 不碰 NMS、 不用反射、不发假包。
| 方面 | 行为 |
|---|---|
| 1.9 冷却条 | 通过 attack_speed 属性修饰器(ADD_NUMBER +1024)彻底移除 |
| 近战伤害 | 始终 100%,无充能降伤 |
| 击退(剑 / 斧 / 徒手) | 1.8.8 公式:/2 + 0.4,Y 上限 0.4,疾跑与击退附魔叠加 |
| 横扫攻击 | 1.8 武器禁用 |
| 右键剑格挡 | 持续期间受到近战伤害 -50% |
| 三叉戟 / 重锤 | 完全原版:震击、密度、风爆、激流、引雷、穿刺全部保留 |
- Java 21+
- Paper 26.1.2+(或任意 Paper 分支)
mvn clean package
# 或者(无需 Maven)
./build.sh产物:target/LegacyPvp-1.0.0.jar,丢进 plugins/ 即可。
| 命令 | 说明 |
|---|---|
/legacypvp reload |
重载 config.yml |
/legacypvp info |
查看当前配置 |
别名 /lpvp,权限 legacypvp.admin(默认 op)。
所有选项都在 config.yml 内有类型、默认值、范围的注释。重点:
attack-speed.value—— 冷却条控制(默认1024)knockback.*—— 完整 1.8 击退公式damage.sword-block.*—— 经典右键剑格挡modern-weapons—— 保留原版机制的武器白名单(默认TRIDENT、MACE)
PolyForm Noncommercial 1.0.0 —— 源码开放, 仅限非商业使用。
可以:
- 个人 / 爱好 / 教学 / 研究 / 社区服(不收费)使用、修改、再分发
- Fork、提 PR、自建免费公益服使用
不可以:
- 用于任何盈利服务器(充值、卖称号、卖权限、卖进服资格等)—— 如需商用请单独获取授权
- 将插件本身或整合包以付费形式售卖
如需商业授权,请在 Issue 中联系作者。