Curtain Fixer repairs the broken fake player resident feature of Curtain on Minecraft 1.20.1 (Forge).
Curtain's built-in fakePlayerResident rule only saves fake players when the server is stopping. By that time all players (including fake players) have already been removed by PlayerList.removeAll(), so the data file (fake_player.gca.json) is always written as an empty {}. As a result, fake players disappear after you leave and re-enter the world — even when the rule is enabled.
This mod does not modify Curtain itself. It uses Forge events to record and rebuild fake players at the right moments:
curtain_fixer_residents.json in the world folder./player <name> spawn at <x y z> facing <yaw> <pitch>) to bring each fake player back exactly where it left off.Inventories, health and experience are handled by vanilla playerdata, so fake players return with everything intact.
fakePlayerResident rule (both can be enabled at the same time)curtain_fixer-1.0.0.jar into your mods folder./player ... spawn command, so the fake player's name must be known to the server (usercache.json) — otherwise enable /curtain allowSpawningOfflinePlayers true first./player <name> kill will also respawn on your next login. Delete its entry from curtain_fixer_residents.json if you want it gone for good.https://github.com/Lin1848624/curtain-fixer
GPL-3.0
Curtain Fixer 修复 Curtain 在 Minecraft 1.20.1(Forge)上失效的假人「驻留」功能。
Curtain 自带的 fakePlayerResident 规则只在服务器停止时保存假人数据。但此时所有玩家(包括假人)都已被 PlayerList.removeAll() 移除,因此数据文件(fake_player.gca.json)永远被写成空的 {}。结果就是:即使规则处于开启状态,退出存档再进入后假人依然会消失。
本模组不修改 Curtain 本体,而是利用 Forge 事件在正确的时机记录与重建假人:
curtain_fixer_residents.json;/player <名字> spawn at <x y z> facing <偏航> <俯仰>)把每个假人放回退出时的位置。假人的背包、血量与经验由原版 playerdata 正常保存,因此重建后数据完整。
fakePlayerResident 规则互不冲突(可同时开启)curtain_fixer-1.0.0.jar 放入 mods 文件夹;/player ... spawn 命令,因此假人名字需要能被服务器识别(usercache.json),否则请先执行 /curtain allowSpawningOfflinePlayers true;/player <名字> kill 杀掉的假人,下次进入存档也会自动重建;如不需要,请删除 curtain_fixer_residents.json 中对应条目。https://github.com/Lin1848624/curtain-fixer
GPL-3.0