跳到主要内容

食物与道具

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

全部的键​

键默认说明
itemBONE物品:BONE、PAPER:10001(材质:custom_model_data)、ce: / ia: 物品,或分段写 material / model-data / item-model / name / lore / glow,见 物品写法
heal0回复多少血
heal-percent0回复最大血量的百分之几
exp0加多少经验(不乘经验倍率)
levels0直接升几级
revivefalse解除昏倒(马上可以再召唤)
unlock-skin空解锁这只宠物的某个皮肤(皮肤编号)
unlock-pet空解锁道具:手拿着对空气或方块右键,直接获得这种宠物(宠物编号);已经有了会提示
evolve-to空进化成哪一种宠物(不检查等级与花费)
tame0驯服野生宠物的进度(加到 1 就驯服),见 驯服
buff.type空临时加成:damage(伤害倍率)/ defense(减伤 %,加在宠物的减伤上)/ speed(移动速度倍率)
buff.amount0加成数值
buff.seconds0持续几秒
signal空喂完送给宠物的 MythicMobs 信号(宠物身体是 MythicMobs 怪物时)
commands空喂完执行的指令:{player}、{uuid}、{pet}、{level}、{type};[player] 开头 = 玩家自己执行
pets空 = 全部哪些宠物能吃:宠物编号,或 category:分类
cooldown1同一只宠物多久能再吃这种(秒)
consumetrue吃完要不要扣掉物品
strictfalsetrue = 只认 /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。