烧烤 动物养殖 分类 功能实现1
This commit is contained in:
1 parent
98335837dd
commit
eac9409571
16 files changed
+1493
-5
No files matched your search
+292
@@ -0,0 +1,292 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
================================================================================
|
||||
动物养殖方块转换规则数据
|
||||
================================================================================
|
||||
所有"动物养殖"分类下"右键方块→消耗物品→替换方块"的转换规则都在这里。
|
||||
只被 AnimalService 读取,FeatureDispatcher 通过方块名集合路由到 AnimalService,
|
||||
不会去查其他功能(烧烤/做菜/工具切换)的数据库。
|
||||
|
||||
与 BlockSwitchData.py 的关系:
|
||||
BlockSwitchData.py = 通用工具方块切换(箭桶、挂肉钩、水槽、书柜等)
|
||||
AnimalData.py = 动物养殖专属(鸡窝、饲料盆、饲料槽、粪便等)
|
||||
|
||||
字段说明(与 BlockSwitchData 基本一致,新增 giveCount/dropItem):
|
||||
source: 被右键的方块ID(必填)
|
||||
item: 玩家手里必须拿的物品,None=空手也行
|
||||
target: 替换成什么方块,"minecraft:air"=消失
|
||||
consume: 消耗物品数量,0=不消耗(默认1)
|
||||
giveItem: 额外给玩家什么物品,None=不给
|
||||
giveCount: giveItem 的数量,默认1
|
||||
dropItem: 转换时以掉落物形式生成的物品列表,优先于 giveItem
|
||||
格式: [{"name": "xxx", "count": N}, ...]
|
||||
做成掉落物而不是直接塞背包,符合"取下/获得"的体验
|
||||
type: "switch"=右键切换, "timer"=计时自动转换
|
||||
time: 计时型转换需要多少秒(到时间自动替换方块)
|
||||
================================================================================
|
||||
"""
|
||||
|
||||
ANIMAL_SWITCHES = [
|
||||
|
||||
# ============================================================
|
||||
# 一、鸡窝(产蛋) —— 低级机制:手持鸡蛋右键放置递增
|
||||
# 对应方块:chickencoop_0(0蛋) ~ chickencoop_5(5蛋)
|
||||
# ============================================================
|
||||
# 【放蛋1】鸡窝_1(0蛋) → 鸡窝_2(1蛋)
|
||||
{
|
||||
"source": "rtdd:chickencoop_0",
|
||||
"item": "minecraft:egg",
|
||||
"target": "rtdd:chickencoop_1",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.15,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【放蛋2】鸡窝_2(1蛋) → 鸡窝_3(2蛋)
|
||||
{
|
||||
"source": "rtdd:chickencoop_1",
|
||||
"item": "minecraft:egg",
|
||||
"target": "rtdd:chickencoop_2",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.15,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【放蛋3】鸡窝_3(2蛋) → 鸡窝_4(3蛋)
|
||||
{
|
||||
"source": "rtdd:chickencoop_2",
|
||||
"item": "minecraft:egg",
|
||||
"target": "rtdd:chickencoop_3",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.15,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【放蛋4】鸡窝_4(3蛋) → 鸡窝_5(4蛋)
|
||||
{
|
||||
"source": "rtdd:chickencoop_3",
|
||||
"item": "minecraft:egg",
|
||||
"target": "rtdd:chickencoop_4",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.15,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【放蛋5】鸡窝_5(4蛋) → 鸡窝_6(5蛋)
|
||||
{
|
||||
"source": "rtdd:chickencoop_4",
|
||||
"item": "minecraft:egg",
|
||||
"target": "rtdd:chickencoop_5",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.15,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
# ============================================================
|
||||
# 二、鸡窝(取蛋) —— 空手右键取走鸡蛋,以掉落物形式生成
|
||||
# 数量转换遵循"递增→递减"双向规则:放蛋1→2→3→4→5,取蛋5→4→3→2→1
|
||||
# 取蛋后一律回到0蛋形态(chickencoop_0)
|
||||
# ============================================================
|
||||
# 【取5蛋】鸡窝_6(5蛋) → 鸡窝_1(0蛋),掉落5个鸡蛋
|
||||
{
|
||||
"source": "rtdd:chickencoop_5",
|
||||
"item": None,
|
||||
"target": "rtdd:chickencoop_0",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 5}],
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【取4蛋】鸡窝_5(4蛋) → 鸡窝_1(0蛋),掉落4个鸡蛋
|
||||
{
|
||||
"source": "rtdd:chickencoop_4",
|
||||
"item": None,
|
||||
"target": "rtdd:chickencoop_0",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 4}],
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【取3蛋】鸡窝_4(3蛋) → 鸡窝_1(0蛋),掉落3个鸡蛋
|
||||
{
|
||||
"source": "rtdd:chickencoop_3",
|
||||
"item": None,
|
||||
"target": "rtdd:chickencoop_0",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 3}],
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【取2蛋】鸡窝_3(2蛋) → 鸡窝_1(0蛋),掉落2个鸡蛋
|
||||
{
|
||||
"source": "rtdd:chickencoop_2",
|
||||
"item": None,
|
||||
"target": "rtdd:chickencoop_0",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 2}],
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【取1蛋】鸡窝_2(1蛋) → 鸡窝_1(0蛋),掉落1个鸡蛋
|
||||
{
|
||||
"source": "rtdd:chickencoop_1",
|
||||
"item": None,
|
||||
"target": "rtdd:chickencoop_0",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 1}],
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
# ============================================================
|
||||
# 三、鸡饲料盆 —— 手持种子右键填充,计时变空
|
||||
# 对应方块:chickenmanger_0(空)、chickenmanger_1(满)
|
||||
# ============================================================
|
||||
# 【加饲料】鸡饲料盆_1(空) → 鸡饲料盆_2(满),消耗16个种子
|
||||
{
|
||||
"source": "rtdd:chickenmanger_0",
|
||||
"item": "minecraft:wheat_seeds",
|
||||
"target": "rtdd:chickenmanger_1",
|
||||
"consume": 16,
|
||||
"type": "switch",
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时变空】鸡饲料盆_2(满) → 鸡饲料盆_1(空),计时60秒
|
||||
# 这是一个自动转换:玩家填充后启动计时,到时间自动变空
|
||||
{
|
||||
"source": "rtdd:chickenmanger_1",
|
||||
"item": None,
|
||||
"target": "rtdd:chickenmanger_0",
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
# ============================================================
|
||||
# 四、饲料槽-小麦 —— 手持小麦右键填充(消耗32个),计时逐级减少
|
||||
# 对应方块:manger_0(空)、manger_3(满小麦)、manger_2(半量小麦)、manger_1(少量小麦)
|
||||
# ============================================================
|
||||
# 【加小麦】饲料槽_1(空) → 饲料槽_2(满小麦),消耗32个小麦
|
||||
{
|
||||
"source": "rtdd:manger_0",
|
||||
"item": "minecraft:wheat",
|
||||
"target": "rtdd:manger_3",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时减少1】饲料槽_2(满小麦) → 饲料槽_3(半量小麦),计时60秒
|
||||
{
|
||||
"source": "rtdd:manger_3",
|
||||
"item": None,
|
||||
"target": "rtdd:manger_2",
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时减少2】饲料槽_3(半量小麦) → 饲料槽_4(少量小麦),计时60秒
|
||||
{
|
||||
"source": "rtdd:manger_2",
|
||||
"item": None,
|
||||
"target": "rtdd:manger_1",
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时减少3】饲料槽_4(少量小麦) → 饲料槽_1(空),计时60秒
|
||||
{
|
||||
"source": "rtdd:manger_1",
|
||||
"item": None,
|
||||
"target": "rtdd:manger_0",
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
# ============================================================
|
||||
# 五、饲料槽-水 —— 手持水桶右键填充,水桶变空桶
|
||||
# 对应方块:manger_0(空)、mangerwater(水槽)
|
||||
# ============================================================
|
||||
# 【加水】饲料槽_1(空) → 饲料槽_6(水槽),消耗水桶,获得空桶
|
||||
{
|
||||
"source": "rtdd:manger_0",
|
||||
"item": "minecraft:water_bucket",
|
||||
"target": "rtdd:mangerwater",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"giveItem": "minecraft:bucket",
|
||||
"giveCount": 1,
|
||||
},
|
||||
|
||||
# ============================================================
|
||||
# 六、饲料槽-胡萝卜 —— 手持胡萝卜右键填充(消耗32个),计时逐级减少
|
||||
# 对应方块:manger_0(空)、pigmanger_1(满胡萝卜)、pigmanger_2(半量胡萝卜)
|
||||
# ============================================================
|
||||
# 【加胡萝卜】饲料槽_1(空) → 饲料槽_7(满胡萝卜),消耗32个胡萝卜
|
||||
{
|
||||
"source": "rtdd:manger_0",
|
||||
"item": "minecraft:carrot",
|
||||
"target": "rtdd:pigmanger_1",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时减少1】饲料槽_7(满胡萝卜) → 饲料槽_8(半量胡萝卜),计时60秒
|
||||
{
|
||||
"source": "rtdd:pigmanger_1",
|
||||
"item": None,
|
||||
"target": "rtdd:pigmanger_2",
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时减少2】饲料槽_8(半量胡萝卜) → 饲料槽_1(空),计时60秒
|
||||
{
|
||||
"source": "rtdd:pigmanger_2",
|
||||
"item": None,
|
||||
"target": "rtdd:manger_0",
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
# ============================================================
|
||||
# 七、粪便清理 —— 空手右键逐级清理,最后消失
|
||||
# 对应方块:feces_3(一坨)、feces_2(半坨)、feces_1(仅痕迹)
|
||||
# 【食用部分后续在总食用功能中实现,本次不实现】
|
||||
# ============================================================
|
||||
# 【清理1】粪便(一坨) → 粪便(半坨)
|
||||
{
|
||||
"source": "rtdd:feces_3",
|
||||
"item": None,
|
||||
"target": "rtdd:feces_2",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【清理2】粪便(半坨) → 粪便(仅痕迹)
|
||||
{
|
||||
"source": "rtdd:feces_2",
|
||||
"item": None,
|
||||
"target": "rtdd:feces_1",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【清理3】粪便(仅痕迹) → 消失(空气)
|
||||
{
|
||||
"source": "rtdd:feces_1",
|
||||
"item": None,
|
||||
"target": "minecraft:air",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"giveItem": None,
|
||||
},
|
||||
]
|
||||
Reference in new issue
Block a user