config.yml
plugins/CloudPet/config.yml,改完执行 /cp admin reload(数据库设置要重启服务器)。写错的值会在后台说明哪个键、写了什么、可以填什么,然后先用默认值。
宠物写在 pets/ 文件夹(见 宠物文件),食物在 foods.yml(见 食物与道具),分类在 categories.yml。
数据库与子服
database:
type: sqlite
file: data.db
host: 127.0.0.1
port: 3306
database: cloudpet
username: root
password: ''
parameters: useSSL=false&characterEncoding=utf8&serverTimezone=UTC
table-prefix: cp_
pool-size: 4
server-id: ''
| 键 | 默认 | 说明 |
|---|---|---|
database.type | sqlite | sqlite(单服)或 mysql / mariadb(多个子服共用,宠物跟着玩家跨服) |
database.file | data.db | SQLite 文件名(在插件文件夹) |
database.host / port / database / username / password | 127.0.0.1 / 3306 / cloudpet / root / 空 | MySQL 连接 |
database.parameters | useSSL=false&characterEncoding=utf8&serverTimezone=UTC | MySQL 连接参数 |
database.table-prefix | cp_ | 数据表前缀(字母、数字、下划线) |
database.pool-size | 4 | 连接池大小 |
server-id | 空 | 子服名称,多服共用 MySQL 时每台都要不同;留空 = 服务器文件夹名 + 端口 |
见 数据库。
菜单
| 键 | 默认 | 说明 |
|---|---|---|
ui | auto | auto = 装了云界面 CloudUI 就用云界面画面,否则用箱子菜单;chest = 一律箱子菜单。见 云界面画面 |
宠物 pets
pets:
max-active: 1
max-owned: 0
permission-unlock: true
resummon: true
hide-on-owner-death: true
disabled-worlds: []
hide-in-spectator: true
nametag: '{name} &7Lv.{level}'
nametag-height: 0.25
default-name: ''
| 键 | 默认 | 说明 |
|---|---|---|
pets.max-active | 1 | 同时召唤几只;权限 cloudpet.active.<数字> 可以给更多 |
pets.max-owned | 0 | 最多拥有几只(0 = 不限);权限 cloudpet.owned.<数字> 可以给更多 |
pets.permission-unlock | true | 有宠物文件的 permission(默认 cloudpet.pet.<编号>)就自动拥有那种宠物(第一次打开菜单 / 上线时建立) |
pets.resummon | true | 上线、换服、换世界后,自动把离开前召唤着的宠物叫回来 |
pets.hide-on-owner-death | true | 主人死亡时宠物先收回,复活后自动回来 |
pets.disabled-worlds | 空 | 这些世界不能召唤宠物(进入时自动收回,离开后自动回来);cloudpet.bypass.world 不受限制 |
pets.hide-in-spectator | true | 主人切到旁观者模式时收回 |
pets.nametag | '{name} &7Lv.{level}' | 名牌格式(宠物文件的 nametag.text 可以覆盖):{name}、{level}、{level_name}、{owner}、{health}、{max_health} |
pets.nametag-height | 0.25 | 名牌在宠物身体上方多高(格),宠物文件的 nametag.height 再往上加 |
pets.default-name | 空 | 没取名的宠物显示的名字;空 = 种类名称;可以写 '{player} 的{type}' |
保护 protection
protection:
mob-damage: false
owner-damage: false
player-damage: false
hide-with-owner: true
no-collision: true
| 键 | 默认 | 说明 |
|---|---|---|
protection.mob-damage | false | 允许敌对生物攻击宠物(会掉血,血量归零就昏倒);关闭 = 宠物完全无敌,怪物也不会把宠物当目标 |
protection.owner-damage | false | 允许主人自己误伤宠物 |
protection.player-damage | false | 允许其他玩家攻击宠物(那个世界还要开着 PVP) |
protection.hide-with-owner | true | 主人隐身(隐身药水、vanish)时,看不到主人的人也看不到宠物 |
protection.no-collision | true | 宠物不会推人,也不会被人推走 |
见 宠物保护。
点宠物 interact
interact:
right-click: menu
sneak-right-click: mount
left-click: none
show-owner-to-others: true
| 键 | 默认 | 可以填 | 说明 |
|---|---|---|---|
interact.right-click | menu | menu / mount / none | 主人右键自己的宠物 |
interact.sneak-right-click | mount | menu / mount / none | 主人蹲下 + 右键 |
interact.left-click | none | menu / none | 主人左键自己的宠物(主人打不到自己的宠物) |
interact.show-owner-to-others | true | 别人右键你的宠物时,在快捷栏上方显示「这是 谁的宠物」 |
手拿食物或指挥棒右键时,会先喂食 / 下指令,不会触发上面的动作。
改名 rename
rename:
enabled: true
max-length: 16
colors: true
cooldown: 10
blacklist: []
| 键 | 默认 | 说明 |
|---|---|---|
rename.enabled | true | 开放改名 |
rename.max-length | 16 | 名字最多几个字(不含颜色代码) |
rename.colors | true | 名字能不能用颜色代码(还需要权限 cloudpet.rename.color) |
rename.cooldown | 10 | 改名冷却(秒),cloudpet.admin 不受限制 |
rename.blacklist | 空 | 不能出现在名字里的字(不分大小写) |
骑乘 mount
| 键 | 默认 | 说明 |
|---|---|---|
mount.dismount-on-damage | true | 主人受到伤害时自动下坐骑 |
mount.fall-protection | true | 从飞行坐骑下来时不受摔落伤害 |
mount.disabled-worlds | 空 | 这些世界不能骑 |
见 骑乘。
战斗 combat
combat:
default-mode: defend
damage-as-owner: true
pvp: false
aggressive-range: 10
ignore: [VILLAGER, WANDERING_TRADER, IRON_GOLEM, SNOW_GOLEM, ALLAY]
| 键 | 默认 | 说明 |
|---|---|---|
combat.default-mode | defend | 新宠物的战斗方式:assist / defend / aggressive / passive |
combat.damage-as-owner | true | 宠物造成的伤害算主人打的(怪物掉经验、任务计算击杀、遵守领地 / 区域保护) |
combat.pvp | false | 宠物会不会打玩家(只在 PVP 开启的世界、而且是对方先打主人或主人正在打对方时) |
combat.aggressive-range | 10 | 主动模式攻击附近怪物的范围(格,最少 2) |
combat.ignore | 见上 | 不会被宠物攻击的生物;另外村民、NPC、其他宠物、别人驯服的动物一律不打 |
见 战斗与技能。
昏倒 respawn
respawn:
cooldown: 60
health: 0.3
regen-while-stored: 0.01
auto-return: true
global: false
| 键 | 默认 | 说明 |
|---|---|---|
respawn.cooldown | 60 | 昏倒后多久才能再召唤(秒,宠物文件 respawn-cooldown 可以覆盖) |
respawn.health | 0.3 | 回来时的血量(最大血量的比例,0.05–1) |
respawn.regen-while-stored | 0.01 | 收回的宠物每秒回复最大血量的比例 |
respawn.auto-return | true | 冷却结束后自动回到主人身边(关闭 = 要自己再召唤) |
respawn.global | false | true = 任何一只宠物昏倒冷却中时,其他宠物也不能召唤 |
经验 exp
exp:
kill:
default: 2
ZOMBIE: 5
SKELETON: 5
CREEPER: 6
SPIDER: 5
ENDERMAN: 10
WITHER_SKELETON: 12
BLAZE: 10
WARDEN: 200
ENDER_DRAGON: 500
mythic: {}
mythic-default: 8
players: 0
per-minute: 1
multiplier: 1.0
| 键 | 默认 | 说明 |
|---|---|---|
exp.kill.<生物> | 见上 | 宠物召唤中、主人或宠物打死这种生物时加的经验;没列出的用 default |
exp.mythic.<怪物编号> | 空 | MythicMobs 怪物的经验 |
exp.mythic-default | 8 | 没列出的 MythicMobs 怪物 |
exp.players | 0 | 打死玩家 |
exp.per-minute | 1 | 召唤中每分钟自动加的经验 |
exp.multiplier | 1.0 | 击杀经验的活动倍率;个人倍率用权限 cloudpet.exp.<倍数> |
见 等级与进化。
背包 backpack
| 键 | 默认 | 说明 |
|---|---|---|
backpack.enabled | true | 开放宠物背包 |
backpack.blacklist | 全部潜影盒与 BUNDLE | 不能放进宠物背包的物品(材质名称) |
见 宠物背包。
宠物蛋 eggs
eggs:
enabled: true
player-pack: true
item: EGG
name: '&e宠物蛋 &7· {pet}'
lore:
- '&7种类:&f{type}'
- '&7等级:&f{level}'
- '&8右键孵化,宠物归你所有'
- '&8编号 {id}'
| 键 | 默认 | 说明 |
|---|---|---|
eggs.enabled | true | 开放宠物蛋 |
eggs.player-pack | true | 玩家可以自己打包(/cp egg 或菜单按钮) |
eggs.item | EGG | 宠物蛋的材质 |
eggs.name / eggs.lore | 见上 | {pet} 名字、{type} 种类、{level} 等级、{id} 编号前 8 码 |
见 宠物蛋。
经济、音效与除错
economy:
currency-name: 金币
sounds:
summon: entity.experience_orb.pickup
despawn: entity.chicken.egg
level-up: entity.player.levelup
click: ui.button.click
deny: entity.villager.no
debug: false
| 键 | 默认 | 说明 |
|---|---|---|
economy.currency-name | 金币 | 价格后面显示的货币名称(购买宠物、皮肤与进化花费需要 Vault + 经济插件) |
sounds.summon | entity.experience_orb.pickup | 召唤(宠物文件 sounds.summon 可以覆盖) |
sounds.despawn | entity.chicken.egg | 收回 |
sounds.level-up | entity.player.levelup | 升级 |
sounds.click | ui.button.click | 菜单点击 |
sounds.deny | entity.villager.no | 不能做的动作 / 宠物昏倒 |
debug | false | 在后台显示宠物的 AI、召唤、数据库细节(也可以用 /cp admin debug 临时开关) |