Skip to content

Lihfdgjr/legacypvp-for-minecraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LegacyPvp

中文在下 / English below.

License: PolyForm Noncommercial 1.0.0 Paper 26.1.2+ Java 21+

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.


Features

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.

Requirements

  • 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.

Install

  1. Download LegacyPvp-1.0.0.jar (see Build) and drop it into plugins/.
  2. Start the server. A default plugins/LegacyPvp/config.yml is generated.
  3. Edit, then /lpvp reload.

Build

With Maven:

mvn clean package

Without Maven (self-contained script — downloads paper-api + transitive deps, compiles, packages):

./build.sh

Output: target/LegacyPvp-1.0.0.jar.

Commands

Command Description
/legacypvp reload Reload config.yml.
/legacypvp info Show current settings.

Alias: /lpvp. Permission: legacypvp.admin (default: op).

Config

Every option is documented inline in config.yml with type, default, and range. Notable knobs:

  • attack-speed.value — cooldown-bar killer (default 1024).
  • 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).

AntiCheat compatibility

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.

Design notes

The heart of the plugin is CombatListener:

  1. On EntityPushedByEntityAttackEvent (cause ENTITY_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.
  2. Otherwise we cancel the vanilla knockback and hand the victim to KnockbackHandler, which applies the 1.8.8 formula.
  3. 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.
  4. Sweep damage from legacy weapons is cancelled in a separate handler.
  5. Sword-block is a simple "right-click a sword refreshes a timed window" plus a damage multiplier on EntityDamageByEntityEvent.

License

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.


LegacyPvp(中文)

在 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 —— 保留原版机制的武器白名单(默认 TRIDENTMACE

许可证

PolyForm Noncommercial 1.0.0 —— 源码开放, 仅限非商业使用

可以

  • 个人 / 爱好 / 教学 / 研究 / 社区服(不收费)使用、修改、再分发
  • Fork、提 PR、自建免费公益服使用

不可以

  • 用于任何盈利服务器(充值、卖称号、卖权限、卖进服资格等)—— 如需商用请单独获取授权
  • 将插件本身或整合包以付费形式售卖

如需商业授权,请在 Issue 中联系作者。

About

1.8.8 PvP feel on Paper 26.x — keeps Trident & Mace fully vanilla. AC-safe (Grim/Matrix/Vulcan).

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors