家具实现 2

This commit is contained in:
wenhe committed 2026-09-03 15:42:11 +08:00
1 parent 1413a3abc6
commit 0cb1da680d
4 files changed
+133 -81

No files matched your search

@@ -59,6 +59,9 @@ FLUME_RULES = [
{"source": "rtdd:flume_1", "item": "minecraft:bucket",
"target": "rtdd:flume_0", "consume": 1,
"giveItem": "minecraft:water_bucket", "tip": "§a取走了水, 水桶装满水"},
# 满水空手右键 -> 直接放空(倒掉水)
{"source": "rtdd:flume_1", "item": None,
"target": "rtdd:flume_0", "tip": "§a水槽已放空"},
# 放脏盘子(需满水)
{"source": "rtdd:flume_1", "item": "rtdd:plate_0a",
"target": "rtdd:flume_2", "consume": 1, "tip": "§a放入1个脏盘子"},
@@ -68,15 +71,15 @@ FLUME_RULES = [
"target": "rtdd:flume_4", "consume": 1, "tip": "§a放入1个脏盘子"},
{"source": "rtdd:flume_4", "item": "rtdd:plate_0a",
"target": "rtdd:flume_5", "consume": 1, "tip": "§a放入1个脏盘子"},
# 取脏盘子
# 取脏盘子(洗好取出的是 盘子 rtdd:plate_0)
{"source": "rtdd:flume_5", "item": None,
"target": "rtdd:flume_4", "giveItem": "rtdd:plate_0a", "tip": "§a取回1个脏盘子"},
"target": "rtdd:flume_4", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
{"source": "rtdd:flume_4", "item": None,
"target": "rtdd:flume_3", "giveItem": "rtdd:plate_0a", "tip": "§a取回1个脏盘子"},
"target": "rtdd:flume_3", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
{"source": "rtdd:flume_3", "item": None,
"target": "rtdd:flume_2", "giveItem": "rtdd:plate_0a", "tip": "§a取回1个脏盘子"},
"target": "rtdd:flume_2", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
{"source": "rtdd:flume_2", "item": None,
"target": "rtdd:flume_1", "giveItem": "rtdd:plate_0a", "tip": "§a取回1个脏盘子"},
"target": "rtdd:flume_0", "giveItem": "rtdd:plate_0", "tip": "§a取回最后1个盘子"},
]
# ============================================================
@@ -158,70 +161,48 @@ for _i in range(len(_BOOKCASE_CHAIN) - 1, 0, -1):
})
# ============================================================
# 五、厨具架 (kitchenwarerack, 至多挂2件, 方块状态即组合, 纯切换)
# 五、厨具架 (kitchenwarerack, 至多挂2件)
# 组合由方块状态+stack记录决定, 与放入顺序无关, 取回后放先取。
# 通用逻辑在 FurnitureService._handleKitchenRack, 这里只放常量。
# 可放: 锅铲(spatula) / 锅勺(potandspoon) / 菜刀(cleaver) / 炒锅(wok)
# ============================================================
KITCHENRACK_RULES = [
# ---- 放入 (空架 -> 单件) ----
{"source": "rtdd:kitchenwarerack", "item": "rtdd:spatula",
"target": "rtdd:kitchenwareracka_1", "consume": 1, "tip": "§a放上了锅铲"},
{"source": "rtdd:kitchenwarerack", "item": "rtdd:potandspoon",
"target": "rtdd:kitchenwarerackb_1", "consume": 1, "tip": "§a放上了锅勺"},
{"source": "rtdd:kitchenwarerack", "item": "rtdd:cleaver",
"target": "rtdd:kitchenwarerackd_1", "consume": 1, "tip": "§a放上了菜刀"},
{"source": "rtdd:kitchenwarerack", "item": "rtdd:wok",
"target": "rtdd:kitchenwarerackc_1", "consume": 1, "tip": "§a放上了炒锅"},
# ---- 放入 (单件 -> 双件/组合) ----
{"source": "rtdd:kitchenwareracka_1", "item": "rtdd:spatula",
"target": "rtdd:kitchenwareracka_2", "consume": 1, "tip": "§a再放上一把锅铲"},
{"source": "rtdd:kitchenwareracka_1", "item": "rtdd:potandspoon",
"target": "rtdd:kitchenwareracka_3", "consume": 1, "tip": "§a放上了锅勺"},
{"source": "rtdd:kitchenwarerackb_1", "item": "rtdd:potandspoon",
"target": "rtdd:kitchenwarerackb_2", "consume": 1, "tip": "§a再放上一把锅勺"},
{"source": "rtdd:kitchenwarerackc_1", "item": "rtdd:cleaver",
"target": "rtdd:kitchenwarerackc_2", "consume": 1, "tip": "§a放上了菜刀"},
{"source": "rtdd:kitchenwarerackd_1", "item": "rtdd:cleaver",
"target": "rtdd:kitchenwarerackd_3", "consume": 1, "tip": "§a再放上一把菜刀"},
{"source": "rtdd:kitchenwarerackd_1", "item": "rtdd:spatula",
"target": "rtdd:kitchenwarerackd_2", "consume": 1, "tip": "§a放上了锅铲"},
{"source": "rtdd:kitchenwarerackd_1", "item": "rtdd:potandspoon",
"target": "rtdd:kitchenwarerackd_4", "consume": 1, "tip": "§a放上了锅勺"},
# ---- 取回 (空手右键, 掉落对应厨具) ----
{"source": "rtdd:kitchenwareracka_1", "item": None,
"target": "rtdd:kitchenwarerack",
"dropItem": [{"name": "rtdd:spatula", "count": 1}], "tip": "§a取回了锅铲"},
{"source": "rtdd:kitchenwareracka_2", "item": None,
"target": "rtdd:kitchenwareracka_1",
"dropItem": [{"name": "rtdd:spatula", "count": 1}], "tip": "§a取回了一把锅铲"},
{"source": "rtdd:kitchenwareracka_3", "item": None,
"target": "rtdd:kitchenwareracka_1",
"dropItem": [{"name": "rtdd:potandspoon", "count": 1}], "tip": "§a取回了锅勺"},
{"source": "rtdd:kitchenwarerackb_1", "item": None,
"target": "rtdd:kitchenwarerack",
"dropItem": [{"name": "rtdd:potandspoon", "count": 1}], "tip": "§a取回了锅勺"},
{"source": "rtdd:kitchenwarerackb_2", "item": None,
"target": "rtdd:kitchenwarerackb_1",
"dropItem": [{"name": "rtdd:potandspoon", "count": 1}], "tip": "§a取回了一把锅勺"},
{"source": "rtdd:kitchenwarerackc_1", "item": None,
"target": "rtdd:kitchenwarerack",
"dropItem": [{"name": "rtdd:wok", "count": 1}], "tip": "§a取回了炒锅"},
{"source": "rtdd:kitchenwarerackc_2", "item": None,
"target": "rtdd:kitchenwarerackc_1",
"dropItem": [{"name": "rtdd:cleaver", "count": 1}], "tip": "§a取回了菜刀"},
{"source": "rtdd:kitchenwarerackd_1", "item": None,
"target": "rtdd:kitchenwarerack",
"dropItem": [{"name": "rtdd:cleaver", "count": 1}], "tip": "§a取回了菜刀"},
{"source": "rtdd:kitchenwarerackd_2", "item": None,
"target": "rtdd:kitchenwarerackd_1",
"dropItem": [{"name": "rtdd:spatula", "count": 1}], "tip": "§a取回了锅铲"},
{"source": "rtdd:kitchenwarerackd_3", "item": None,
"target": "rtdd:kitchenwarerackd_1",
"dropItem": [{"name": "rtdd:cleaver", "count": 1}], "tip": "§a取回了一把菜刀"},
{"source": "rtdd:kitchenwarerackd_4", "item": None,
"target": "rtdd:kitchenwarerackd_1",
"dropItem": [{"name": "rtdd:potandspoon", "count": 1}], "tip": "§a取回了锅勺"},
KITCHENRACK_BLOCKS = [
"rtdd:kitchenwarerack", # 厨具架(空)
"rtdd:kitchenwareracka_1", # 单锅铲
"rtdd:kitchenwareracka_2", # 双锅铲
"rtdd:kitchenwareracka_3", # 锅铲+锅勺
"rtdd:kitchenwarerackb_1", # 单锅勺
"rtdd:kitchenwarerackb_2", # 双锅勺
"rtdd:kitchenwarerackc_1", # 单炒锅
"rtdd:kitchenwarerackc_2", # 炒锅+菜刀
"rtdd:kitchenwarerackd_1", # 单菜刀
"rtdd:kitchenwarerackd_2", # 菜刀+锅铲
"rtdd:kitchenwarerackd_3", # 双菜刀
"rtdd:kitchenwarerackd_4", # 菜刀+锅勺
]
# 可上架的厨具物品
KITCHENWARE_ITEMS = ("rtdd:spatula", "rtdd:potandspoon", "rtdd:cleaver", "rtdd:wok")
# 单件 -> 对应方块
KITCHENRACK_SINGLE_BLOCK = {
"rtdd:spatula": "rtdd:kitchenwareracka_1",
"rtdd:potandspoon": "rtdd:kitchenwarerackb_1",
"rtdd:wok": "rtdd:kitchenwarerackc_1",
"rtdd:cleaver": "rtdd:kitchenwarerackd_1",
}
# 双件组合(sorted) -> 对应方块, 顺序无关(先放A再放B == 先放B再放A)
KITCHENRACK_COMBO_BLOCK = {
("rtdd:potandspoon", "rtdd:spatula"): "rtdd:kitchenwareracka_3", # 锅铲+锅勺
("rtdd:cleaver", "rtdd:wok"): "rtdd:kitchenwarerackc_2", # 炒锅+菜刀
("rtdd:cleaver", "rtdd:spatula"): "rtdd:kitchenwarerackd_2", # 菜刀+锅铲
("rtdd:cleaver", "rtdd:potandspoon"): "rtdd:kitchenwarerackd_4", # 菜刀+锅勺
("rtdd:spatula", "rtdd:spatula"): "rtdd:kitchenwareracka_2", # 双锅铲
("rtdd:potandspoon", "rtdd:potandspoon"): "rtdd:kitchenwarerackb_2", # 双锅勺
("rtdd:cleaver", "rtdd:cleaver"): "rtdd:kitchenwarerackd_3", # 双菜刀
}
# ============================================================
# 六、古式唱片机 (b_108 无碟 / b_109 有碟)
# 放入: 手持任意原版唱片 -> 有碟, 消耗1, 记录唱片(rtdd_disc)
@@ -259,8 +240,7 @@ TRASHBIN_RULES = [
]
# ============================================================
# 汇总: 家具家私全部右键转换规则
# 汇总: 家具家私右键转换规则(厨具架为通用逻辑, 不在规则表, 单独注册)
# ============================================================
FURNITURE_SWITCHES = (ARROWBARREL_RULES + FLUME_RULES + TRAYRACKS_RULES
+ BOOKCASE_RULES + KITCHENRACK_RULES
+ RECORDPLAYER_RULES + TRASHBIN_RULES)
+ BOOKCASE_RULES + RECORDPLAYER_RULES + TRASHBIN_RULES)