Skip to content

FakePlayer-CE.Build14

Choose a tag to compare

@EndlessPixel EndlessPixel released this 16 Oct 10:26
· 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 help Now 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 of Expected 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-api is compiled for Java 25; servers still running Java 21 must upgrade their runtime before installing this build.
  • invulnerable is 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 invulnerable enabled 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 retired from 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.yml is 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: false in config.yml or 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


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+)

鸣谢