109 lines
5.4 KiB
Python
109 lines
5.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
================================================================================
|
|
乡野自然(xy_natural)转化规则数据
|
|
================================================================================
|
|
统一管理"乡野自然"(xy_natural) 分类下的转化规则常量。只被
|
|
NaturalService / NaturalTimerService 读取,FeatureDispatcher 通过方块名/物品名
|
|
集合路由到对应服务。
|
|
|
|
【本次实现的功能】
|
|
1) 果树结果 (计时): 苹果/桃/橘 树叶 -> 果实形态 逐级结果
|
|
2) 葡萄藤生长 (计时): grapebushes_1 -> grapebushes_2
|
|
3) 葡萄藤取葡萄 (右键): 成熟葡萄藤 -> 取3葡萄, 变回葡萄藤_1
|
|
4) 柴火堆叠/取用 (右键): firewood <-> firewood_2
|
|
5) 柴火分解 (工作台配方): firewood -> 9个木条
|
|
6) 水稻种植 (手持稻谷右键耕地): farmland -> 水稻刚种下
|
|
7) 水稻生长 (计时): riceseedlingsb -> c -> d
|
|
8) 水稻收获 (左键破坏掉落): 水稻方块破坏掉稻谷, 成熟额外掉大米
|
|
|
|
【不实现(后续实现)】
|
|
- 果树"树苗成长"机制(树叶对应树苗, 像原版一样长成树): 后续实现, 本次跳过。
|
|
|
|
【计时说明】
|
|
果树结果/藤蔓生长/水稻生长均 autoStart=True(放置/种下后自动开始),
|
|
用绝对时间戳写方块实体数据, 退出重进继续计时。
|
|
================================================================================
|
|
"""
|
|
|
|
# ============================================================================
|
|
# 一、柴火堆叠/取用(右键)
|
|
# firewood_2(柴火_2) + 手持柴火 -> firewood(柴火_1 堆放)
|
|
# firewood(堆放) 空手右键 -> firewood_2 + 掉落1个柴火_2(掉落物, 不进背包)
|
|
# ============================================================================
|
|
FIREWOOD_RULES = [
|
|
{"source": "rtdd:firewood_2", "item": "rtdd:firewood",
|
|
"target": "rtdd:firewood", "consume": 1, "tip": "§a堆放柴火"},
|
|
{"source": "rtdd:firewood", "item": None,
|
|
"target": "rtdd:firewood_2",
|
|
"dropItem": [{"name": "rtdd:firewood_2", "count": 1}],
|
|
"tip": "§a取走柴火"},
|
|
]
|
|
|
|
# ============================================================================
|
|
# 二、葡萄藤取葡萄(右键)
|
|
# grapebushes_2(成熟) 空手右键 -> grapebushes_1 + 掉落3个葡萄
|
|
# ============================================================================
|
|
GRAPE_HARVEST = {
|
|
"source": "rtdd:grapebushes_2", "item": None,
|
|
"target": "rtdd:grapebushes_1",
|
|
"dropItem": [{"name": "rtdd:grape", "count": 3}],
|
|
"tip": "§a取出了3个葡萄",
|
|
}
|
|
|
|
# ============================================================================
|
|
# 三、水稻收获(左键破坏掉落, 类似原版作物)
|
|
# 水稻方块被左键破坏 -> 掉落稻谷; 成熟(riceseedlingsd)额外掉大米
|
|
# ============================================================================
|
|
RICE_BLOCKS = [
|
|
"rtdd:riceseedlingsb", # 刚种下
|
|
"rtdd:riceseedlingsc", # 生长中
|
|
"rtdd:riceseedlingsd", # 成熟
|
|
]
|
|
RICE_SEED_ITEM = "rtdd:rice_seeds" # 破坏掉落稻谷
|
|
RICE_CROP_ITEM = "rtdd:brownrice" # 成熟额外掉落大米
|
|
|
|
# 汇总: 乡野自然右键切换规则
|
|
NATURAL_SWITCHES = FIREWOOD_RULES + [GRAPE_HARVEST]
|
|
|
|
# ============================================================================
|
|
# 四、计时转换 (果树结果 / 葡萄藤生长 / 水稻生长, 均 autoStart 自动生长)
|
|
# ============================================================================
|
|
NATURAL_TIMERS = [
|
|
# 苹果树: 树叶 -> 苹果形态1 -> 苹果形态2
|
|
{"source": "rtdd:apple_leaves", "target": "rtdd:apple_fruit_1",
|
|
"time": 60, "autoStart": True, "doneTip": "§e苹果树结果了"},
|
|
{"source": "rtdd:apple_fruit_1", "target": "rtdd:apple_fruit_3",
|
|
"time": 60, "autoStart": True, "doneTip": "§e苹果熟了"},
|
|
# 桃树: 树叶 -> 桃子一个 -> 桃子两个
|
|
{"source": "rtdd:peach_leaves", "target": "rtdd:b_173",
|
|
"time": 60, "autoStart": True, "doneTip": "§e桃树结果了"},
|
|
{"source": "rtdd:b_173", "target": "rtdd:b_176",
|
|
"time": 60, "autoStart": True, "doneTip": "§e桃子熟了"},
|
|
# 橘树: 树叶 -> 橘子形态一 -> 形态二 -> 形态三
|
|
{"source": "rtdd:orange_leaves", "target": "rtdd:tangerine_0",
|
|
"time": 60, "autoStart": True, "doneTip": "§e橘树结果了"},
|
|
{"source": "rtdd:tangerine_0", "target": "rtdd:tangerine_1",
|
|
"time": 60, "autoStart": True},
|
|
{"source": "rtdd:tangerine_1", "target": "rtdd:tangerine_2",
|
|
"time": 60, "autoStart": True, "doneTip": "§e橘子熟了"},
|
|
# 葡萄藤: 藤_1 -> 藤_2
|
|
{"source": "rtdd:grapebushes_1", "target": "rtdd:grapebushes_2",
|
|
"time": 180, "autoStart": True, "doneTip": "§e葡萄熟了"},
|
|
# 水稻: 刚种下 -> 生长中 -> 成熟
|
|
{"source": "rtdd:riceseedlingsb", "target": "rtdd:riceseedlingsc",
|
|
"time": 120, "autoStart": True},
|
|
{"source": "rtdd:riceseedlingsc", "target": "rtdd:riceseedlingsd",
|
|
"time": 120, "autoStart": True, "doneTip": "§e水稻成熟了"},
|
|
]
|
|
|
|
# ============================================================================
|
|
# 五、水稻种植(手持稻谷右键耕地, 在耕地上方放置水稻刚种下)
|
|
# ============================================================================
|
|
RICE_PLANT = {
|
|
"item": "rtdd:rice_seeds", # 稻谷(手持)
|
|
"surface": "minecraft:farmland", # 必须右键原版耕地
|
|
"target": "rtdd:riceseedlingsb", # 放置水稻刚种下
|
|
"consume": 1,
|
|
"tip": "§a种下水稻",
|
|
} |