食物与道具
plugins/CloudPet/foods.yml 里每一个段落是一种食物或道具,改完 /cp admin reload。
怎么喂
- 主人手拿食物右键自己的宠物。
- 宠物菜单的「喂食」按钮:用背包里第一个这只宠物能吃的东西。
- 管理员发放:
/cp admin food <玩家> <食物> [数量](发出来的物品带有记号,一定认得)。
一种食物喂下去,只要有任何一个效果生效就算吃掉(consume: true 时扣一个);全部没效果(例如满血时喂回血食物)会提示「现在不需要这个」,物品不会扣掉。
默认内容
plugins/CloudPet/foods.yml
骨头:
item: BONE
heal: 6
exp: 10
cooldown: 2
甜浆果:
item: SWEET_BERRIES
heal: 4
exp: 5
cooldown: 1
金苹果:
item: GOLDEN_APPLE
heal-percent: 100
revive: true
cooldown: 30
经验之瓶:
item:
material: EXPERIENCE_BOTTLE
name: '&a宠物经验瓶'
lore:
- '&7喂给宠物,经验 +200'
glow: true
exp: 200
strict: true
cooldown: 0
力量饼干:
item: COOKIE
buff:
type: damage
amount: 1.5
seconds: 60
cooldown: 60
全部的键
| 键 | 默认 | 说明 |
|---|---|---|
item | BONE | 物品:BONE、PAPER:10001(材质:custom_model_data)、ce: / ia: 物品,或分段写 material / model-data / item-model / name / lore / glow,见 物品写法 |
heal | 0 | 回复多少血 |
heal-percent | 0 | 回复最大血量的百分之几 |
exp | 0 | 加多少经验(不乘经验倍率) |
levels | 0 | 直接升几级 |
revive | false | 解除昏倒(马上可以再召唤) |
unlock-skin | 空 | 解锁这只宠物的某个皮肤(皮肤编号) |
unlock-pet | 空 | 解锁道具:手拿着对空气或方块右键,直接获得这种宠物(宠物编号);已经有了会提示 |
evolve-to | 空 | 进化成哪一种宠物(不检查等级与花费) |
tame | 0 | 驯服野生宠物的进度(加到 1 就驯服),见 驯服 |
buff.type | 空 | 临时加成:damage(伤害倍率)/ defense(减伤 %,加在宠物的减伤上)/ speed(移动速度倍率) |
buff.amount | 0 | 加成数值 |
buff.seconds | 0 | 持续几秒 |
signal | 空 | 喂完送给宠物的 MythicMobs 信号(宠物身体是 MythicMobs 怪物时) |
commands | 空 | 喂完执行的指令:{player}、{uuid}、{pet}、{level}、{type};[player] 开头 = 玩家自己执行 |
pets | 空 = 全部 | 哪些宠物能吃:宠物编号,或 category:分类 |
cooldown | 1 | 同一只宠物多久能再吃这种(秒) |
consume | true | 吃完要不要扣掉物品 |
strict | false | true = 只认 /cp admin food 发的物品(同材质的一般物品不算) |
permission | 空 | 需要的权限 |
宠物文件也可以写 foods: [骨头, 金苹果],限制那只宠物只吃这几种。
物品怎么比对
/cp admin food发出的物品带有记号,一定认得是哪一种食物。- 其他物品(
strict: false时)照item比对:材质一样;写了model-data的要一样;写了name的名字(去掉颜色)要一样。 - 想做「只有活动发的 才有效」的道具,写
strict: true。
范例
# 解锁道具:右键直接获得小狼
小狼召唤券:
item:
material: PAPER
model-data: 20001
name: '&e小狼召唤券'
unlock-pet: 小狼
strict: true
# 皮肤券:喂给小狐狸,解锁白狐皮肤
白狐皮肤券:
item: { material: PAPER, model-data: 20002, name: '&f白狐皮肤券' }
unlock-skin: 白狐
pets: [小狐狸]
strict: true
# 进化石:直接进化成雪狐
冰霜之石:
item: DIAMOND
evolve-to: 雪狐
pets: [小狐狸]
cooldown: 0
# 只给陆地分类吃的烤肉,吃完放烟火
烤肉:
item: COOKED_BEEF
heal: 8
pets: ['category:陆地']
commands:
- 'summon firework_rocket ~ ~1 ~'
驯服野生 MythicMobs 怪物
野外的 MythicMobs 怪物可以设成「可以驯服」:玩家拿 tame 食物喂它,进度加到 1 就变成他的宠物。
1. 在 MythicMobs 怪物身上标记(施放者 = 那只怪):
plugins/MythicMobs/Mobs/wild.yml
WildFox:
Type: FOX
Skills:
- cloudpet-tameable{id=小狐狸;tamingProgress=0} @self ~onSpawn
cloudpet-tameable 也可以写成 SetLivingPet;id 是驯服后得到的宠物编号,tamingProgress(也可以写 tP、progress)是一开始的进度(0~1)。
2. 写一种驯服用的食物:
foods.yml
浆果篮:
item: SWEET_BERRIES
tame: 0.25 # 每喂一次 +25%,喂四次驯服
pets: [小狐狸] # 只能驯服成这几种(不写 = 全部)
3. 玩家手拿浆果篮右键那只怪:
- 快捷栏上方显示进度条(
messages.yml的tame.progress)。 - 第一个喂的人才能继续喂,其他人会看到「已经有别人在驯服这只了」。
- 进度到 1:野生怪物消失,玩家获得这种宠物并自动召唤出来(受
pets.max-owned限制)。 - 驯服后那种宠物的宠物文件写了
tame-progress/tamed技能的,会在喂食 / 驯服完成时由那只野生怪物施放,见 战斗与技能。 - MythicMobs 里可以用条件
petTaming/cloudpet-taming与变量<cloudpet.tamingprogress>判断进度,见 MythicMobs。