黄豆 饮料 冰棍 实现
This commit is contained in:
1 parent
38f2ff2b33
commit
f89b95fb99
23 files changed
+1773
-88
No files matched your search
@@ -0,0 +1,121 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
================================================================================
|
||||
乡野饮料(xy_drink)转化规则数据
|
||||
================================================================================
|
||||
所有"乡野饮料"(xy_drink) 分类下的转化规则常量都在这里。
|
||||
只被 YinliaoService / YinliaoTimerService 读取,FeatureDispatcher 通过方块名/物品名
|
||||
集合路由到对应服务,不会去查其他功能的数据库。
|
||||
|
||||
【三大分组】
|
||||
1) 果汁·榨汁饮品(榨汁机系列 juicer / juicer_0~4) —— 全流程右键转换
|
||||
果汁由第一步放入的水果决定并【持久化到方块实体数据】, 退出游戏重进后
|
||||
榨汁完成仍取回正确果汁(详见 YinliaoService._readFruit / _writeFruit)。
|
||||
2) 冰棍(冰棍盒 icelollybox_1/2 + 各水果盒 icelollyboxb~f)
|
||||
未定型 → (手持冰块右键启动) 计时30秒 → 定型 → (手持水果x2) → 各水果盒
|
||||
→ (空手右键) 取出2根冰棍, 还原未定型。
|
||||
冰棍堆 popsiclepile_2/3: 组合式(苹果冰棍+堆 → 堆2, 空手取回 LIFO)。
|
||||
3) 冰棍盒·炒冰盒(frytheicebox / frytheicebox_1 + 各水果炒冰盒)
|
||||
空 → (手持冰块) 放冰 → (手持水果) 炒冰 → (空手右键) 取出冰沙, 还原空。
|
||||
注: 西瓜炒冰盒可做, 但 西瓜冰沙(melonicecreamplace) 是禁用方块, 无取出规则。
|
||||
|
||||
字段说明(与 AnimalData/BarbecueData 一致):
|
||||
水果物品名 → (成品方块, 名称) 的映射表, 服务端按需读取。
|
||||
================================================================================
|
||||
"""
|
||||
|
||||
# ============================================================================
|
||||
# 一、冰块(广义的冰): 原版 冰块/冰砖/蓝冰/霜冰
|
||||
# 冰棍盒定型、炒冰盒放冰都消耗这几种冰中的任意一种
|
||||
# ============================================================================
|
||||
ICE_ITEMS = [
|
||||
"minecraft:ice",
|
||||
"minecraft:packed_ice",
|
||||
"minecraft:blue_ice",
|
||||
"minecraft:frosted_ice",
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
# 二、榨汁机(果汁·榨汁饮品)
|
||||
# ============================================================================
|
||||
# 水果物品名 → (果汁方块, 果汁名)
|
||||
# 西瓜=原版西瓜片 / 橙子=rtdd:orange / 苹果=原版苹果 / 桃子=rtdd:peach /
|
||||
# 葡萄=rtdd:grape / 黄豆=rtdd:soybean(豆浆)
|
||||
JUICE_FRUITS = {
|
||||
"minecraft:melon_slice": ("rtdd:fruitjuice_1", "西瓜汁"),
|
||||
"rtdd:orange": ("rtdd:fruitjuice_2", "橙汁"),
|
||||
"minecraft:apple": ("rtdd:fruitjuice_3", "苹果汁"),
|
||||
"rtdd:peach": ("rtdd:fruitjuice_4", "桃子汁"),
|
||||
"rtdd:grape": ("rtdd:fruitjuice_6", "葡萄汁"),
|
||||
"rtdd:soybean": ("rtdd:fruitjuice_7", "豆浆"),
|
||||
}
|
||||
|
||||
# 榨汁机状态链(空→放入水果→榨汁中1→2→3→完成), 索引按步骤顺序
|
||||
JUICER_CHAIN = [
|
||||
"rtdd:juicer", # 0 榨汁机(空)
|
||||
"rtdd:juicer_0", # 1 榨汁机(放入水果)
|
||||
"rtdd:juicer_1", # 2 榨汁机(榨汁中1)
|
||||
"rtdd:juicer_2", # 3 榨汁机(榨汁中2)
|
||||
"rtdd:juicer_3", # 4 榨汁机(榨汁中3)
|
||||
"rtdd:juicer_4", # 5 榨汁机(完成)
|
||||
]
|
||||
|
||||
# 榨汁中逐级右键的提示(juicer_0→1→2→3→4 各阶段)
|
||||
JUICER_ADVANCE_TIPS = {
|
||||
"rtdd:juicer_0": "§a开始榨汁…",
|
||||
"rtdd:juicer_1": "§a榨汁中…",
|
||||
"rtdd:juicer_2": "§a榨汁中…",
|
||||
"rtdd:juicer_3": "§e榨汁完成!",
|
||||
}
|
||||
|
||||
# ============================================================================
|
||||
# 三、冰棍盒(冰棍)
|
||||
# ============================================================================
|
||||
# 冰棍盒(未定型) icelollybox_1 → 冰棍盒(定型) icelollybox_2 的计时规则:
|
||||
# 手持冰块右键启动(消耗1个冰块), 约30秒定型; autoStart=False 不自动开始
|
||||
ICE_LOLLY_TIMER = {
|
||||
"source": "rtdd:icelollybox_1",
|
||||
"target": "rtdd:icelollybox_2",
|
||||
"time": 30,
|
||||
"autoStart": False,
|
||||
"startTip": "§e已放入冰块,冰棍定型中…",
|
||||
"doneTip": "§e冰棍盒里的冰棍定型了!",
|
||||
}
|
||||
|
||||
# 水果物品名 → (各水果冰棍盒, 冰棍方块, 口味名)
|
||||
# 苹果→icelollyboxc / 桃子→icelollyboxd / 橙子→icelollyboxb /
|
||||
# 葡萄→icelollyboxe / 西瓜→icelollyboxf
|
||||
POPSICLE_FRUITS = {
|
||||
"minecraft:apple": ("rtdd:icelollyboxc", "rtdd:apple_popsicleplace", "苹果"),
|
||||
"rtdd:peach": ("rtdd:icelollyboxd", "rtdd:peach_popsicleplace", "桃子"),
|
||||
"rtdd:orange": ("rtdd:icelollyboxb", "rtdd:orange_popsicle_place", "橙子"),
|
||||
"rtdd:grape": ("rtdd:icelollyboxe", "rtdd:grape_popsicleplace", "葡萄"),
|
||||
"minecraft:melon_slice": ("rtdd:icelollyboxf", "rtdd:melon_popsicleplace", "西瓜"),
|
||||
}
|
||||
|
||||
# 冰棍盒方块 → (水果物品名, 冰棍方块, 口味名) 反向表(取冰棍用)
|
||||
POPSICLE_BOX_INFO = {v[0]: (k, v[1], v[2]) for k, v in POPSICLE_FRUITS.items()}
|
||||
|
||||
# 冰棍堆组合:
|
||||
# popsiclepile_2(橙子+西瓜) + 苹果冰棍 → popsiclepile_3(橙子+西瓜+苹果)
|
||||
# popsiclepile_3 空手取回 → 苹果冰棍, 退回 popsiclepile_2
|
||||
# (其他口味组合暂无对应堆方块, 不支持堆叠)
|
||||
POPSICLE_PILE_ADD = "rtdd:apple_popsicleplace" # 能插上堆的冰棍
|
||||
POPSICLE_PILE_2 = "rtdd:popsiclepile_2" # 2根堆(基础)
|
||||
POPSICLE_PILE_3 = "rtdd:popsiclepile_3" # 3根堆
|
||||
|
||||
# ============================================================================
|
||||
# 四、炒冰盒(冰棍盒·炒冰盒 分组)
|
||||
# ============================================================================
|
||||
# 水果物品名 → (各水果炒冰盒, 冰沙方块, 口味名)
|
||||
# 五种口味齐全: 西瓜冰沙(melonicecreamplace) 已从禁用移回乡野饮料, 可正常取出
|
||||
FRYICE_FRUITS = {
|
||||
"minecraft:apple": ("rtdd:appleicebox", "rtdd:appleicecreamplace", "苹果"),
|
||||
"rtdd:grape": ("rtdd:grapeicebox", "rtdd:grapeicecreamplace", "葡萄"),
|
||||
"minecraft:melon_slice": ("rtdd:melonicebox", "rtdd:melonicecreamplace", "西瓜"),
|
||||
"rtdd:orange": ("rtdd:orangeicebox", "rtdd:orangeicecreamplace", "橘子"),
|
||||
"rtdd:peach": ("rtdd:peachicebox", "rtdd:peachicecreamplace", "桃子"),
|
||||
}
|
||||
|
||||
# 炒冰盒方块 → (水果物品名, 冰沙方块, 口味名) 反向表(取冰沙用)
|
||||
FRYICE_BOX_INFO = {v[0]: (k, v[1], v[2]) for k, v in FRYICE_FRUITS.items()}
|
||||
Reference in new issue
Block a user