黄豆 饮料 冰棍 实现2

This commit is contained in:
wenhe committed 2026-09-04 16:51:47 +08:00
1 parent f89b95fb99
commit bae1755069
11 files changed
+193 -132

No files matched your search

@@ -96,13 +96,19 @@ POPSICLE_FRUITS = {
# 冰棍盒方块 → (水果物品名, 冰棍方块, 口味名) 反向表(取冰棍用)
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
# 冰棍堆组合(顺序无关, 空手取回按方块状态固定, 不存数据):
# 单根 橙子冰棍/西瓜冰棍 放在地上, 手持另一根右键 → 冰棍堆(橙子+西瓜 popsiclepile_2)
# (先放橙子再放西瓜 == 先放西瓜再放橙子, 都会变成 冰棍堆(橙子+西瓜))
# 冰棍堆 + 苹果冰棍 → 冰棍堆2(橙子+西瓜+苹果 popsiclepile_3)
# 空手右键(按方块状态固定, 无需记录):
# - 冰棍堆2 取出 苹果冰棍 → 退回 冰棍堆
# - 冰棍堆 取出 西瓜冰棍 → 变回 单根橙子冰棍
# (其他口味组合暂无对应堆方块, 不支持堆叠)
POPSICLE_PILE_ADD = "rtdd:apple_popsicleplace" # 能插上堆的冰棍
POPSICLE_PILE_2 = "rtdd:popsiclepile_2" # 2根堆(基础)
POPSICLE_PILE_3 = "rtdd:popsiclepile_3" # 3根堆
POPSICLE_SINGLE_ORANGE = "rtdd:orange_popsicle_place" # 单根橙子冰棍(放地上)
POPSICLE_SINGLE_MELON = "rtdd:melon_popsicleplace" # 单根西瓜冰棍(放地上)
POPSICLE_PILE_2 = "rtdd:popsiclepile_2" # 冰棍堆(橙子+西瓜)
POPSICLE_PILE_3 = "rtdd:popsiclepile_3" # 冰棍堆2(橙子+西瓜+苹果)
POPSICLE_PILE_ADD = "rtdd:apple_popsicleplace" # 第三根(苹果冰棍)
# ============================================================================
# 四、炒冰盒(冰棍盒·炒冰盒 分组)
@@ -7,7 +7,7 @@
1) 榨汁机(果汁·榨汁饮品): 全流程右键
空(juicer) + 水果 → 放入水果(juicer_0, 记录水果类型)
→ 榨汁中1/2/3(juicer_1/2/3) → 完成(juicer_4)
→ 空手右键取出对应果汁, 还原空
→ 手持玻璃杯(fruitjuice_0)右键取出对应果汁, 还原空
【水果类型持久化】放入水果时把水果写进方块实体数据(rtdd_jf), 之后每次
换态(SetBlockNew 会清空方块实体)都【先读旧→替换→写回新】, 因此玩家
在 榨汁2→榨汁3 过程中退出游戏, 重进后取出的果汁仍是第一步放入的水果。
@@ -18,10 +18,13 @@
3) 炒冰盒(冰棍盒·炒冰盒):
空(frytheicebox) + 冰块 → 放冰(frytheicebox_1)
放冰 + 水果 → 各水果炒冰盒(appleicebox 等)
各水果炒冰盒(除西瓜) 空手右键 → 取出1个冰沙, 还原空
4) 冰棍堆(组合, 同厨具架逻辑):
popsiclepile_2(橙子+西瓜) + 苹果冰棍 → popsiclepile_3(橙子+西瓜+苹果)
popsiclepile_3 空手右键 → 取出苹果冰棍(LIFO), 退回 popsiclepile_2
各水果炒冰盒 空手右键 → 取出1个冰沙, 还原空
4) 冰棍堆(组合, 顺序无关, 空手取回按方块状态固定, 不存数据):
单根 橙子冰棍/西瓜冰棍 放地上 + 手持另一根右键 → 冰棍堆(橙子+西瓜 popsiclepile_2)
(先放橙子再放西瓜 == 先放西瓜再放橙子, 都会变成 冰棍堆)
冰棍堆 + 苹果冰棍 → 冰棍堆2(橙子+西瓜+苹果 popsiclepile_3)
空手右键: 冰棍堆2 取出 苹果冰棍 → 退回 冰棍堆;
冰棍堆 取出 西瓜冰棍 → 变回 单根橙子冰棍
【与计时转换解耦】
冰棍盒"未定型→定型"的 30 秒计时拆到独立类 YinliaoTimerService。
@@ -34,11 +37,11 @@
【本类怎么做(自上而下的方法系列)】
handleBlockUse ← 入口:分发器转发右键方块事件
├─ _handleJuicer ← 榨汁机: 放入水果/逐级榨汁/取出果汁
├─ _handleJuicer ← 榨汁机: 放入水果/逐级榨汁/手持玻璃杯取出果汁
│ ├─ _readFruit / _writeFruit ← 水果类型 读/写(持久化)
├─ _handleLollyBox ← 冰棍盒: 加冰块(启动计时)/加水果/取冰棍
├─ _handleFryIceBox ← 炒冰盒: 加冰块/加水果/取冰沙
└─ _handlePopsiclePile ← 冰棍堆: 插苹果冰棍/取回
└─ _handlePopsiclePile ← 冰棍堆: 单根+另一根叠堆/插苹果冰棍/空手取回
(通用工具) getCarriedItem / consumeItem / replaceBlock / dropItems / checkCooldown
================================================================================
"""
@@ -63,6 +66,7 @@ from ..YinliaoData import (
ICE_ITEMS,
JUICE_FRUITS, JUICER_CHAIN, JUICER_ADVANCE_TIPS,
ICE_LOLLY_TIMER, POPSICLE_FRUITS, POPSICLE_BOX_INFO,
POPSICLE_SINGLE_ORANGE, POPSICLE_SINGLE_MELON,
POPSICLE_PILE_ADD, POPSICLE_PILE_2, POPSICLE_PILE_3,
FRYICE_FRUITS, FRYICE_BOX_INFO,
)
@@ -96,7 +100,9 @@ class YinliaoService(BlueFoxServerSystem):
self.featureBlocks.add("rtdd:frytheicebox_1")
for _f, info in FRYICE_FRUITS.items(): # 各水果炒冰盒
self.featureBlocks.add(info[0])
self.featureBlocks.add(POPSICLE_PILE_2) # 冰棍堆
self.featureBlocks.add(POPSICLE_SINGLE_ORANGE) # 单根橙子冰棍(冰棍堆底)
self.featureBlocks.add(POPSICLE_SINGLE_MELON) # 单根西瓜冰棍(冰棍堆底)
self.featureBlocks.add(POPSICLE_PILE_2) # 冰棍堆
self.featureBlocks.add(POPSICLE_PILE_3)
# ---- 右键冷却表 ----
@@ -146,8 +152,9 @@ class YinliaoService(BlueFoxServerSystem):
if blockName == "rtdd:frytheicebox" or blockName == "rtdd:frytheicebox_1" \
or blockName in FRYICE_BOX_INFO:
return self._handleFryIceBox(blockName, playerId, pos, dim, itemDict, itemName, key)
# ---- 冰棍堆 ----
if blockName == POPSICLE_PILE_2 or blockName == POPSICLE_PILE_3:
# ---- 冰棍堆(含单根橙子/西瓜冰棍作底) ----
if blockName == POPSICLE_SINGLE_ORANGE or blockName == POPSICLE_SINGLE_MELON \
or blockName == POPSICLE_PILE_2 or blockName == POPSICLE_PILE_3:
return self._handlePopsiclePile(blockName, playerId, pos, dim, itemDict, itemName, key)
return False
@@ -186,10 +193,10 @@ class YinliaoService(BlueFoxServerSystem):
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
return True
# ---- 完成(juicer_4) 空手右键 → 取出果汁, 还原空 ----
# ---- 完成(juicer_4) 手持玻璃杯右键 → 取出果汁, 还原空 ----
if blockName == "rtdd:juicer_4":
if itemName and itemName != "minecraft:air":
return False # 必须空手取出, 手持其他物品不处理
if itemName != "rtdd:fruitjuice_0":
return False # 必须手持玻璃杯(fruitjuice_0)取出, 手持其他物品不处理
if not self.checkCooldown(key, 0.5):
return True
fruit = self._readFruit(pos, dim)
@@ -197,6 +204,7 @@ class YinliaoService(BlueFoxServerSystem):
if not juiceInfo:
return False # 无水果记录(创造直接放置的完成态) → 不反应
juiceBlock, juiceName = juiceInfo
self.consumeItem(playerId, itemDict, 1) # 消耗玻璃杯(果汁成品自带杯)
self.dropItems(dim, pos, [{"name": juiceBlock, "count": 1}])
self.replaceBlock(pos, dim, "rtdd:juicer", playerId) # 还原空, 记录随方块清除
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了" + juiceName)
@@ -306,28 +314,55 @@ class YinliaoService(BlueFoxServerSystem):
# ============================================================================
def _handlePopsiclePile(self, blockName, playerId, pos, dim, itemDict, itemName, key):
# ---- 堆(橙子+西瓜) + 苹果冰棍 → 堆2(橙子+西瓜+苹果) ----
if blockName == POPSICLE_PILE_2:
if itemName != POPSICLE_PILE_ADD:
return False
# ---- 单根橙子冰棍(地上) + 手持西瓜冰棍 → 冰棍堆(橙子+西瓜) ----
if blockName == POPSICLE_SINGLE_ORANGE and itemName == POPSICLE_SINGLE_MELON:
if not self.checkCooldown(key, 0.5):
return True
self.consumeItem(playerId, itemDict, 1)
self.replaceBlock(pos, dim, POPSICLE_PILE_3, playerId)
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a把苹果冰棍插到冰棍堆上")
self.replaceBlock(pos, dim, POPSICLE_PILE_2, playerId)
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a把西瓜冰棍叠到橙子冰棍上,变成冰棍堆")
return True
# ---- 堆2 空手右键 → 取出苹果冰棍(后放先取), 退回堆 ----
if blockName == POPSICLE_PILE_3:
if itemName and itemName != "minecraft:air":
return False
# ---- 单根西瓜冰棍(地上) + 手持橙子冰棍 → 冰棍堆(橙子+西瓜), 顺序无关 ----
if blockName == POPSICLE_SINGLE_MELON and itemName == POPSICLE_SINGLE_ORANGE:
if not self.checkCooldown(key, 0.5):
return True
self.dropItems(dim, pos, [{"name": POPSICLE_PILE_ADD, "count": 1}])
self.consumeItem(playerId, itemDict, 1)
self.replaceBlock(pos, dim, POPSICLE_PILE_2, playerId)
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取走了苹果冰棍")
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a把橙子冰棍叠到西瓜冰棍上,变成冰棍堆")
return True
# ---- 冰棍堆(橙子+西瓜) ----
if blockName == POPSICLE_PILE_2:
# + 苹果冰棍 → 冰棍堆2(橙子+西瓜+苹果)
if itemName == POPSICLE_PILE_ADD:
if not self.checkCooldown(key, 0.5):
return True
self.consumeItem(playerId, itemDict, 1)
self.replaceBlock(pos, dim, POPSICLE_PILE_3, playerId)
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a把苹果冰棍插到冰棍堆上,叠成三层")
return True
# 空手右键 → 取出西瓜冰棍(按方块状态固定), 变回 单根橙子冰棍
if not itemName or itemName == "minecraft:air":
if not self.checkCooldown(key, 0.5):
return True
self.dropItems(dim, pos, [{"name": POPSICLE_SINGLE_MELON, "count": 1}])
self.replaceBlock(pos, dim, POPSICLE_SINGLE_ORANGE, playerId)
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取走了西瓜冰棍,剩下一根橙子冰棍")
return True
return False
# ---- 冰棍堆2(橙子+西瓜+苹果) ----
if blockName == POPSICLE_PILE_3:
# 空手右键 → 取出苹果冰棍, 退回 冰棍堆
if not itemName or itemName == "minecraft:air":
if not self.checkCooldown(key, 0.5):
return True
self.dropItems(dim, pos, [{"name": POPSICLE_PILE_ADD, "count": 1}])
self.replaceBlock(pos, dim, POPSICLE_PILE_2, playerId)
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取走了苹果冰棍")
return True
return False
return False
# ============================================================================
@@ -1,18 +1,18 @@
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"identifier": "rtdd:soybean",
"category": "xy_ingredients"
},
"components": {
"minecraft:max_stack_size": 64,
"minecraft:use_animation": "eat",
"minecraft:use_duration": 1.6,
"minecraft:food": {
"nutrition": 2,
"saturation_modifier": "low"
}
"format_version": "1.10",
"minecraft:item": {
"components": {
"minecraft:food": {
"nutrition": 2,
"saturation_modifier": "low"
},
"minecraft:max_stack_size": 64,
"minecraft:use_animation": "eat",
"minecraft:use_duration": 1.6
},
"description": {
"category": "xy_ingredients",
"identifier": "rtdd:soybean"
}
}
}
}
}
@@ -0,0 +1,11 @@
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"identifier": "rtdd:soybean"
},
"components": {
"minecraft:icon": "soybean"
}
}
}
+1 -2
View File
@@ -640,7 +640,6 @@ tile.rtdd:bowlofrice.name=米饭_1(熟米饭_形态1)
tile.rtdd:bowlabeefbonebroth.name=胡萝卜土豆牛骨汤
tile.rtdd:carrotandbeef_1.name=炒锅_2(黑椒牛排_熟)
itemGroup.tabrtdd=乡野工具
itemGroup.tabrtdd=乡野工具
tile.rtdd:eggsoup.name=汤锅_42(蛋花汤)
tile.rtdd:orangepile.name=土豆堆_2(橘子堆)_禁用
tile.rtdd:dead_squid_1.name=死鱿鱼(切掉鱿鱼须)
@@ -1235,4 +1234,4 @@ item.rtdd:scallions.name=葱
item.rtdd:grape.name=葡萄
item.rtdd:peach.name=桃子
item.rtdd:orange.name=橙子
item.rtdd:soybean.name=黄豆
item.rtdd:soybean.name=黄豆
@@ -0,0 +1 @@
[]
@@ -1,71 +1,101 @@
{
"resource_pack_name": "rtdd",
"texture_data": {
"cleaver": {
"textures": "textures/items/cleaver"
},
"legsleep": {
"textures": "textures/items/legsleep"
},
"sheeploins": {
"textures": "textures/items/sheeploins"
},
"sheepracks": {
"textures": "textures/items/sheepracks"
"beancurd": {
"textures": "textures/items/beancurd"
},
"beef_tenderloin": {
"textures": "textures/items/beef_tenderloin"
},
"brownrice": {
"textures": "textures/items/rice"
},
"cleaver": {
"textures": "textures/items/cleaver"
},
"costillavacaes": {
"textures": "textures/items/4a3f5c4215600f97c1902db88590a54"
},
"crab": {
"textures": "textures/items/crab"
},
"crushedgarlic": {
"textures": "textures/items/crushedgarlic"
},
"crushedmeat": {
"textures": "textures/items/crushedmeat"
},
"grape": {
"textures": "textures/items/grape"
},
"ham": {
"textures": "textures/items/ham"
},
"legcow": {
"textures": "textures/items/legcow"
},
"legsleep": {
"textures": "textures/items/legsleep"
},
"lobster": {
"textures": "textures/items/lobster"
},
"noodles": {
"textures": "textures/items/raw_pasta"
},
"oil_chickennuggets": {
"textures": "textures/items/oil_chickennuggets"
},
"oilfish_0": {
"textures": "textures/items/oilfish_0"
},
"oilfrenchfries": {
"textures": "textures/items/oilfrenchfries"
},
"oilpork": {
"textures": "textures/items/oilpork"
},
"oiltempura": {
"textures": "textures/items/oiltempura"
},
"orange": {
"textures": "textures/items/ju"
},
"peach": {
"textures": "textures/items/taozi1"
},
"pepper": {
"textures": "textures/items/pepper"
},
"porkloins": {
"textures": "textures/items/porkloins"
},
"porkrib": {
"textures": "textures/items/porkrib"
},
"ham": {
"textures": "textures/items/ham"
},
"crushedmeat": {
"textures": "textures/items/crushedmeat"
"potandspoon": {
"textures": "textures/items/pot_and_spoon"
},
"rawsquidwhiskersr": {
"textures": "textures/items/rawsquidwhiskersr"
},
"crab": {
"textures": "textures/items/crab"
},
"lobster": {
"textures": "textures/items/lobster"
"rtdd:soybean": {
"textures": "textures/items/soybean"
},
"sashimi": {
"textures": "textures/items/sashimi"
},
"thedriedfish": {
"textures": "textures/items/thedriedfish"
"scallions": {
"textures": "textures/items/cong_"
},
"beancurd": {
"textures": "textures/items/beancurd"
"sheeploins": {
"textures": "textures/items/sheeploins"
},
"crushedgarlic": {
"textures": "textures/items/crushedgarlic"
"sheepracks": {
"textures": "textures/items/sheepracks"
},
"oiltempura": {
"textures": "textures/items/oiltempura"
},
"oilfish_0": {
"textures": "textures/items/oilfish_0"
},
"oilpork": {
"textures": "textures/items/oilpork"
},
"oil_chickennuggets": {
"textures": "textures/items/oil_chickennuggets"
},
"oilfrenchfries": {
"textures": "textures/items/oilfrenchfries"
"soybean": {
"textures": "textures/items/soybean"
},
"spatula": {
"textures": "textures/items/guo_chan_"
@@ -73,35 +103,8 @@
"spatula_oil": {
"textures": "textures/items/guo_chan_"
},
"potandspoon": {
"textures": "textures/items/pot_and_spoon"
},
"pepper": {
"textures": "textures/items/pepper"
},
"brownrice": {
"textures": "textures/items/rice"
},
"noodles": {
"textures": "textures/items/raw_pasta"
},
"costillavacaes": {
"textures": "textures/items/4a3f5c4215600f97c1902db88590a54"
},
"scallions": {
"textures": "textures/items/cong_"
},
"grape": {
"textures": "textures/items/grape"
},
"peach": {
"textures": "textures/items/taozi1"
},
"orange": {
"textures": "textures/items/ju"
},
"soybean": {
"textures": "textures/items/soybean"
"thedriedfish": {
"textures": "textures/items/thedriedfish"
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

+11 -7
View File
@@ -35,8 +35,9 @@ todo 功能实现的时候需要考虑 玩家退出游戏后 我的步骤已经
机制: 右键榨汁完成
6. 榨汁机(完成) -> 对应果汁
转换条件:[右键 进行转换, 取出果汁]
机制: 空手右键, 获得 第一步放入水果 对应的果汁(按记录的水果类型)
转换条件:[手持 玻璃杯(fruitjuice_0) 右键 进行转换, 消耗1个]
机制: 手持玻璃杯右键榨汁机(完成), 消耗1个玻璃杯, 获得 第一步放入水果 对应的果汁
(按记录的水果类型, 果汁成品自带杯)
- 西瓜 -> 西瓜汁 fruitjuice_1
- 橙子 -> 橙汁 fruitjuice_2
- 苹果 -> 苹果汁 fruitjuice_3
@@ -62,12 +63,15 @@ todo 功能实现的时候需要考虑 玩家退出游戏后 我的步骤已经
冰棍盒还原为 冰棍盒(未定型)
(按批注: 各水果冰棍盒取完冰棍后应还原成未定型)
10. 冰棍堆 组合逻辑(同厨具架: 与放入顺序无关, 后放先取)
转换条件:[手持 冰棍 右键 冰棍堆 进行堆叠, 消耗1根]
机制: 手持冰棍右键冰棍堆, 消耗1根, 按组合成型(先放A再放B == 先放B再放A)
10. 冰棍堆 组合逻辑(顺序无关, 空手取回按方块状态固定, 不存数据)
转换条件:[手持 冰棍 右键 单根冰棍/冰棍堆 进行堆叠, 消耗1根]
机制: 单根 橙子冰棍/西瓜冰棍 放地上, 手持另一根右键 → 冰棍堆(橙子+西瓜) popsiclepile_2
顺序无关: 先放橙子再放西瓜 == 先放西瓜再放橙子, 都会变成 冰棍堆(橙子+西瓜)
- 橙子+西瓜 -> 冰棍堆(橙子+西瓜) popsiclepile_2
- 橙子+西瓜+苹果 -> 冰棍堆2(橙子+西瓜+苹果) popsiclepile_3
取回: 空手右键, 后放先取(LIFO), 取走最后放入的那根冰棍, 形态退回剩余组合
- 冰棍堆 + 苹果冰棍 -> 冰棍堆2(橙子+西瓜+苹果) popsiclepile_3
取回: 空手右键(按方块状态固定, 无需记录后放入的那根)
- 冰棍堆2 -> 取出 苹果冰棍, 退回 冰棍堆
- 冰棍堆 -> 取出 西瓜冰棍, 变回 单根橙子冰棍
(其他口味组合暂无对应堆方块, 不支持堆叠)
========================================
+6 -4
View File
@@ -262,7 +262,7 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher)
一、榨汁机 (果汁·榨汁饮品, juicer 系列, 全流程右键)
- 空(juicer) + 水果(消耗1) → 放入水果(juicer_0), 并把水果类型写入方块实体数据(rtdd_jf) [已实现]
- 放入水果 → 榨汁中1 → 榨汁中2 → 榨汁中3 → 完成: 右键逐级推进(每级0.5s冷却) [已实现]
- 完成(juicer_4) 空手右键 → 掉落对应果汁 + 还原空(juicer) [已实现]
- 完成(juicer_4) 手持玻璃杯(fruitjuice_0)右键(消耗1玻璃杯) → 掉落对应果汁 + 还原空(juicer) [已实现]
- 果汁由第一步放入的水果决定: 西瓜片→西瓜汁(fruitjuice_1)/橙子→橙汁(_2)/苹果→苹果汁(_3)/
桃子→桃子汁(_4)/葡萄→葡萄汁(_6)/黄豆→豆浆(_7) [已实现]
- 持久化: 每次换态 SetBlockNew 会清空方块实体, 都"先读旧→替换→写回新", 玩家在 榨汁2→榨汁3
@@ -276,9 +276,11 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher)
- 各口味冰棍盒 空手右键 → 掉落2根对应冰棍 + 还原未定型 [已实现]
- 定型计时用绝对时间戳写方块实体数据, 退出重进继续计时 [已实现]
三、冰棍堆 (组合, popsiclepile_2/3)
- 冰棍堆(橙子+西瓜 popsiclepile_2) + 苹果冰棍(消耗1) → 冰棍堆2(橙子+西瓜+苹果 popsiclepile_3) [已实现]
- 冰棍堆2 空手右键 → 掉落苹果冰棍(后放先取 LIFO) + 退回冰棍堆 [已实现]
三、冰棍堆 (组合, 顺序无关, 空手取回按方块状态固定, 不存数据)
- 单根 橙子冰棍/西瓜冰棍 放地上 + 手持另一根右键(消耗1) → 冰棍堆(橙子+西瓜 popsiclepile_2)
(先放橙子再放西瓜 == 先放西瓜再放橙子, 都会变成 冰棍堆) [已实现]
- 冰棍堆 + 苹果冰棍(消耗1) → 冰棍堆2(橙子+西瓜+苹果 popsiclepile_3) [已实现]
- 空手右键: 冰棍堆2 取出 苹果冰棍 → 退回 冰棍堆; 冰棍堆 取出 西瓜冰棍 → 变回 单根橙子冰棍 [已实现]
四、炒冰盒 (冰棍盒·炒冰盒, frytheicebox 系列)
- 空(frytheicebox) + 冰块(消耗1) → 放冰(frytheicebox_1) [已实现]
+1 -1
View File
@@ -13,7 +13,7 @@
========================================
1. 炉灶(空) -> 炉灶(加木条)
转换条件:[手持 木条/木块 右键 进行转换,消耗1个]
机制: 手持木条右键,消耗1个,加木条
机制: 手持木条右键,消耗4个,加木条
2. 炉灶(加木条) -> 炉灶(点燃)
转换条件:[手持 打火石/烈焰弹 右键 进行转换]