Repository navigation
FakePlayer-CE.Build14
·
114 commits
to master
since this release
FakePlayer-CE.Build14
Subcommand Lookups for /fp help, Invulnerability Fixes & Java 25 Requirement
This release makes /fp help actually useful — you can now look up any subcommand by name instead of paging through the list — fixes invincible fake players still taking damage from creative-mode attackers, fixes duplicate quit events when removing fake players, and raises the runtime requirement to Java 25.
Highlights
/fp helpNow Understands Subcommand Names:/fp help config,/fp help look north— a command's description, usage, aliases and subcommands are printed directly (permission-filtered, localized; unknown names get a friendly hint instead ofExpected integer)./fp help <page> [size]still pages through the full list, and subcommand names are offered as tab completions.
Breaking Changes
- Java 25 is now required to run. The build target was raised from Java 21 to Java 25 because Paper 26.x's
paper-apiis compiled for Java 25; servers still running Java 21 must upgrade their runtime before installing this build. invulnerableis enabled by default again, matching the documentation ("fake players spawn with invincible mode enabled by default"). It had silently defaulted to disabled since an upstream commit.
Critical Fixes
- Invincible mode now really blocks damage: a fake player with
invulnerableenabled could still be hurt by players in creative mode, because vanilla explicitly lets creative attackers bypass invulnerability. Damage from creative-mode attackers is now cancelled; sources that are supposed to bypass invulnerability (the void,/kill) still work (#67). - Fixed duplicate quit events when removing a fake player: on Leaf/Folia-based servers, removal could fire the quit/death flow twice — after-quit commands were dispatched a second time (throwing an NPE), the second disconnect threw
Already retiredfrom the entity scheduler, and login plugins (e.g. TabTPS) logged errors. Removal is now idempotent — after-quit commands fire once, and already-disconnected fake players only have their internal records cleaned up (#70).
Important Notes
config.ymlis bumped to version 25; existing configs keep working and fall back to defaults for the new keys.- Fake players now spawn invincible by default again. If you prefer the previous behaviour, set
invulnerable: falseinconfig.ymlor via/fp config set invulnerable false— changes apply to online fake players immediately.
Usage
- Java: 25+ (required)
- Server: Paper / Leaf 1.20.1+ (Purpur compatible; Folia supported)
- API: CommandAPI 12.0.0+ (12.1.0+ on Minecraft 26.3)
Credits
- CE Maintenance: @EndlessPixel
- @HMwancheng (issue #70: the duplicate-quit /
Already retired/ NPE report)
FakePlayer-CE.Build14 —— /fp help 子命令查询、无敌免伤修复与 Java 25 运行要求
本次更新让 /fp help 真正好用——现在可以直接按名字查询任意子命令而无需翻页;修复了开启无敌的假人仍会被创造模式玩家打伤的问题,修复了移除假人时的重复退出流程,并将运行要求提升至 Java 25。
核心特性
/fp help现支持子命令名查询:/fp help config、/fp help look north可直接输出该命令的描述、用法、别名与子命令列表(按权限过滤、按配置语言本地化;未知名称给出友好提示,不再报Expected integer)。/fp help <页码> [每页数]仍按原方式翻页,子命令名提供 Tab 补全。
破坏性变更
- 运行要求升至 Java 25。 编译目标由 Java 21 提升至 25——Paper 26.x 的
paper-api以 Java 25 编译;仍以 Java 21 运行的服务端需要先升级运行环境再安装本版本。 invulnerable默认值改回开启,与文档「假人默认开启无敌模式」一致;此前默认关闭是上游某次提交悄悄改的,更新日志从未记录过。
关键修复
- 无敌模式现在真的免伤:开启
invulnerable的假人此前仍会被创造模式玩家打伤——原版对创造模式攻击显式放行无敌判定。现在创造模式玩家对无敌假人造成的伤害会被取消;原版本就该绕过无敌的来源(虚空、/kill)仍然可用(#67)。 - 修复移除假人时的重复退出 / 二次移除:在 Leaf/Folia 系服务端上,移除假人可能二次触发退出/死亡流程——after-quit 命令被重复派发(第二次空指针报错)、二次断开时实体调度器抛
Already retired、登录插件(如 TabTPS)报错。移除流程现为幂等——after-quit 命令只派发一次(#70)。
重要说明
config.yml版本提升至 25;旧配置可继续使用,新配置项自动采用默认值。- 假人现在重新回到默认无敌。若你更想要之前的行为,可在
config.yml设置invulnerable: false,或执行/fp config set invulnerable false——修改会立即作用于在线假人。
使用要求
- Java:25+(必需)
- 服务端:Paper / Leaf 1.20.1+(兼容 Purpur;支持 Folia)
- API:CommandAPI 12.0.0+(Minecraft 26.3 需 12.1.0+)
鸣谢
- CE 维护:@EndlessPixel
- @HMwancheng(issue #70:重复退出 /
Already retired/ NPE 问题报告)