SleepingBags
[!INFO] Git Commit:
ed13a70| Updated: 2026-04-27
SleepingBags 是 Bag o’ Sleep 的反编译重制版,由 GTNewHorizons 维护并收录进 GTNH 整合包(原作者 npo6ka,2017,MIT;GTNH 修改部分 LGPL v3.0+)。modid 为 sleepingbag,mcmod.info 自述为「Sleep should always be at hand」。
它只做一件事:把床换成可以随身携带的睡袋。睡袋是 0.25 格高的平铺方块(不像床那样占半格空间),铺下后会接管该玩家的出生点判定,而收起床袋 / 睡醒时又把原版出生点写回去——因此玩家可以在野外、矿井或 mod 建筑里铺满睡袋链条,而不会把服务器的战点搬到无人区。
体量极小:
- 1 个方块(
sleepingBagBlock,无 TileEntity)+ 1 个物品(sleepingBag) - 没有染色变体——全 mod 只有一套贴图、没有一个 metadata 分支,颜色仅体现在合成可接受任意颜色的毛 + 地毯
- 1 条有形状合成配方,且在 DreamCraft 存在时自动不注册
- 1 份每玩家扩展属性(
ExtendedPlayer,5 个字段) - 1 个三态睡眠状态机(0 / 1 / 2)+ 1 个客户端躺姿位移
- 1 个手写
ISimpleBlockRenderingHandler等距渲染器 - 0 实体、0 TileEntity、0 多方块、0 维度、0 附魔、0 热键、0 药水、0 群系、0 结构、0 成就、0 指令、0 配置项
方块列表
- 睡袋方块(Sleeping Bag Block) - 0.25 格高的平铺床;覆写
getBedSpawnPosition与setBedOccupied,睡醒时自动收回背包
物品列表
- 睡袋(Sleeping Bag) - 放置成对睡袋的唯一途径;四向朝向搜索 + 放置后二次校验回滚
设置与系统
- 个人重生点与睡眠状态机 -
ExtendedPlayer扩展属性字段表 +EventHandler的 0/1/2 三态 tick 状态机 + 唤醒重设出生点