破坏掉落存储物品 (keyong)
This commit is contained in:
1 parent
0cb1da680d
commit
620500ab45
11 files changed
+373
-101
No files matched your search
+21
-3
@@ -209,9 +209,21 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher)
|
||||
- 取盘子: 空手右键逐个取回 [已实现]
|
||||
|
||||
四、书柜 (bookcase 系列, 后放先取, 至多13本)
|
||||
- 放书: 手持书/附魔书右键逐个放入, 消耗1本, stack记录完整物品信息(附魔不丢,
|
||||
字段 rtdd_swt=stack, 退出重进不丢) [已实现]
|
||||
- 取书: 空手右键后放先取(LIFO) [已实现]
|
||||
- 放书: 手持书/附魔书右键逐个放入, 消耗1本; 堆栈"替换方块前从旧方块读出→替换后写回新方块",
|
||||
多本连续放入不会丢 [已实现]
|
||||
- 取书: 空手右键后放先取(LIFO), 取回的书以掉落物形式掉在书柜前(不进背包) [已实现]
|
||||
- 附魔书: 附魔以扁平ench字段([[附魔ID,等级],...])存方块实体(rtdd_swt=stack/rtdd_sws),
|
||||
取回时重建userData; 不存含__type__/__value__的userData(引擎写不进方块实体),
|
||||
退出重进词条不丢(掉落保护仍是掉落保护) [已实现]
|
||||
- 健壮性: 方块实体里损坏/为None的旧堆栈数据按空堆栈处理, 不再报错(TypeError) [已实现]
|
||||
|
||||
四b、药水架 (lotion 系列, 后放先取, 至多3瓶)
|
||||
- 从药物系统(xy_medicine)移至家具分类(xy_furniture) [已实现]
|
||||
- 放药水: 手持任意药水(普通/喷溅/滞留)右键逐个放入, 消耗1瓶, 记录药水名+aux(aux决定效果) [已实现]
|
||||
- 取药水: 空手右键后放先取(LIFO), 取回的药水以掉落物形式掉在架前(原样返还, 含aux效果) [已实现]
|
||||
- 满架: 手持药水右键三瓶满的药水架 → 提示"已满", 拦截默认行为(防止误喝药水) [已实现]
|
||||
- 方块链: 药水架_1(空)=lotion_0, 药水架_2(一瓶)=lotion_1, 药水架_3(两瓶)=lotion_2,
|
||||
药水架_4(三瓶)=lotion_3 [已实现]
|
||||
|
||||
五、厨具架 (kitchenwarerack 系列, 组合顺序无关, 后放先取, 至多2件)
|
||||
- 放入: 手持 锅铲/锅勺/菜刀/炒锅 右键空架/未满架 → 消耗1个 → 按组合成型 [已实现]
|
||||
@@ -230,3 +242,9 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher)
|
||||
- 扔垃圾: 打开时手持任意物品右键 → 变为 有垃圾 状态 + 清空主手物品 [已实现]
|
||||
- 关闭: 右键(空手/手持均可) 打开/有垃圾 → 关闭桶盖 [已实现]
|
||||
|
||||
八、左键破坏存物方块掉落 (书柜/药水架/厨具架)
|
||||
- 存了东西的家具方块被左键打碎时: 取消默认掉落 → 掉 空方块本体(保留朝向) + 全部存储物品 [已实现]
|
||||
(书柜掉空书柜bookcase+里面的书; 药水架掉空药水架lotion_0+里面的药水; 厨具架掉空架+厨具)
|
||||
- 附魔书/药水效果在掉落物中保留(取回时重建, 词条/效果不丢) [已实现]
|
||||
- 与售卖盒区分: 售卖盒破坏重放仍可右键取物; 书柜这类破坏后记录随方块消失, 重放取不到 [已实现]
|
||||
|
||||
Reference in new issue
Block a user