- ◆ 支持核心
- Arclight
- ◆ 插件前置
- Cobblemon
- ◆ 游戏版本
- 1.21.1
介绍
本插件是CobblemonLegendarySpawn的Pro版本,支持Arclight以及Youer核心 拥有自定义刷神,刷神自定义保护,更多的刷神自定义配置限制,拥有更多的变量的附属插件!以及模块化插件 !满足你所有需求!该插件支持高度自定义的配置,包括宝可梦刷新权重、生物群系限制、时间限制、月相限制、天气限制、高度限制、宝可梦等级和闪光宝可梦生成概率等。
指令列表
| 命令 | 权限要求 | 语法示例 | 功能说明 |
|---|---|---|---|
| /leg checkspawn [player] | legendary.command.checkspawn | /legendary checkspawns | 查看当前所在生物群系中可能刷新的神兽 |
| /leg ui <spawn|record> [player] | legendary.command.ui | /leg ui <spawn|record> | 打开传奇宝可梦/生成记录界面 |
| /legendary reload | legendary.command.reload | /legendary reload | 重新加载配置并重置刷新计时器 |
| /leg force <player> [conditions...] | legendary.command.force | /leg force <player> [conditions...] | 强制在指定玩家位置生成传说宝可梦 可选条件参数: biome(生物群系)、time(时间)、weather(天气)、moon_phase(月相)、y(高度)、all(全部忽略) |
| /leg modifytime <reset|now> [seconds] | legendary.command.modifytime | /leg modifytime <reset|now> [seconds] | reset: 重置生成时间 now <seconds>: 设置从现在起多少秒后生成 |
| /leg help | legendary.command.help | /leg help | 显示帮助信息 |
占位符支持(PlaceholderAPI)
| 占位符名称 | 含义 |
|---|---|
| %legendaryspawner_nextspawn_seconds% | 下次刷新剩余时间(秒) |
| %legendaryspawner_nextspawn_time% | 下次刷新时间(MM:ss) |
| %legendaryspawner_nextspawn_fulltime% | 下次刷新时间(HH:mm:ss) |
| %legendaryspawner_spawn_chance_percent_int% | 刷新概率(百分比整数形式) |
| %legendaryspawner_nospawn_count% | 当前刷空计数(仅在刷空设置开启时有效) |
| %legendaryspawner_nospawn_max_count% | 刷空计数上限(仅在刷空设置开启时有效) |
| %legendaryspawner_nospawn_progress% | 刷空计数进度(格式:当前/最大,仅在刷空设置开启时有效) |
| %legendaryspawner_nospawn_enabled% | 刷空设置是否开启(返回 true/false) |
占位符支持(Worldinfo)
| 占位符 | 说明 |
|---|---|
| %worldinfo_time% | 当前世界时间(游戏刻度) |
| %worldinfo_time_form% | 格式化的世界时间 |
| %worldinfo_moon_phase% | 月相索引值 |
| %worldinfo_weather_duration% | 天气持续时间(刻度) |
| %worldinfo_weather_duration_seconds% | 天气持续时间(秒) |
| %worldinfo_weather_duration_minutes% | 天气持续时间(分钟) |
| %worldinfo_weather_duration_hours% | 天气持续时间(小时) |
| %worldinfo_weather_duration_form% | 格式化的天气持续时间 |
| %worldinfo_weather_name% | 当前天气名称 |
| %worldinfo_time_name% | 当前时间段名称 |
| %worldinfo_biome_name% | 当前生物群系名称 |
| %worldinfo_moon_phase_name% | 月相名称 |
spawn 配置文件说明
除了主配置文件 config.yml 外,插件还使用了位于 plugins/XcLegendaryPokemonSpawner/spawn/ 目录下的多个.yml 文件来管理每个传奇宝可梦的具体刷新规则。
YAML:
"1":
# 宝可梦名称[英文]
species: "rayquaza"
# 宝可梦属性配置
# 以下示例为 等级100 闪光 特性为全能变身 maga形态为mega_x
properties: "level=100 s ability=zerotohero mega_evolution=mega_x"
# 刷新权重
# 宝可梦A的显示权重:1.0(使用fakeweight)
# 宝可梦B的显示权重:1.0(使用weight)
# 总显示权重:2.0
# 宝可梦A显示概率:50%
# 宝可梦B显示概率:50%
# 以此类推
weight: 1.0
# 假刷新权重 不会影响 weight 的实际刷新权重
fakeWeight: 0.5
# 宝可梦持有道具
# 百分百概率
heldItem:
- "1.0-cobblemon_dragon_fang"
# 技能配置
# 配置了该技能 刷新时就会有这个技能 抓捕后也是这个技能 删除宝可梦技能列表则空 但不影响抓捕后的技能 空的话抓捕后技能是随机的
# 该功能是给予有 Cobblemon Fight or Flight 模组做的 因为没有技能列表 刷新时 该模组会空指针报错 配置技能则不会
# 不需要删掉该配置就好
moves:
- "ancientpower"
# 刷新条件设置
spawnConditions:
# 生物群系 此配置具体内容可以从<WorldInfo>插件中得知
# 不填或空则为全部生物群系刷新
biomes: []
# 时间设置 此配置具体内容可以从<WorldInfo>插件中得知
times:
- "day"
- "noon"
- "dusk"
- "night"
- "midnight"
- "dawn"
# 天气限制 不填或者删除该配置则不受该配置限制
weathers:
- "clear"
# 高度限制配置
y-level:
min: -64
max: 320
# 此配置具体内容可以从<WorldInfo>插件中得知
moonPhases: []
"2":
species: "mewtwo"
weight: 1.0
heldItem:
- "0.3-cobblemon_dragon_fang"
- "0.4-mega_showdown_burndrive"
spawnConditions:
biomes:
- "desert"
- "badlands"
times:
- "day"
- "dawn"
weathers:
- "rain"
- "thunder"
y-level:
min: 100
max: 255
moonPhases:
- "NEW_MOON"
- "CRESCENT_WAXING"
config 主配置文件说明
配置文件 config.yml ,是主配置文件,它能配置刷新传奇宝可梦保护,等级,闪光,刷神时间等配置。
YAML:
# 是否开启 Velocity
velocity: false
# 开启的世界
world:
# WHITE[白名单] BLACK[黑名单]
type: WHITE
list:
- "world"
- "world/DIM1"
- "world/DIM-1"
spawn:
# 刷新时间 (秒)
duration: 1600
# 最小刷新时间(秒),防止刷新时间变成负数或过小
minDuration: 60
# 每增加一个在线玩家所减少的刷新时间(秒),填0则不减少
timeReduction: 0
# 重启服务器后刷新时间不重置 (开启后重启服务器后刷新时间不会重置)
saveTempData: false
# 刷新概率 (支持数学运算和PlaceholderAPI变量,例如: 0.3 + 0.1 + %server_online% * 0.01)
# (注: 哪怕 100% 也要看有没有合适的神兽可以生成)
chance: 0.48 + 0
# 最小概率
minChance: 0.2
# 最大概率
maxChance: 1.0
# 最小刷新玩家
minNumPlayer: 1
# 传奇宝可梦最小等级
minLevel: 50
# 传奇宝可梦最大等级
maxLevel: 70
# 传奇宝可梦闪光几率 (0.0-1.0)
shinyChance: 0.001
# 设置个体值(IV)中设为31的数量,0表示关闭此功能
ivCount: 3
# 生成半径 数值过大可能造成卡顿
radius: 10
# 生成高度范围 在选定位置后向上搜索的高度范围
height_range: 10
# 地表生成高度范围 在地表附近搜索时的高度范围
surface_height_range: 8
# 神兽宝可梦刷新时执行的指令 (对于被抽取到刷新的玩家)
# command 玩家执行
# op 玩家以op执行
# console 玩家以控制台执行
# tell 向玩家发送信息
# broadcast 广播信息
# 变量:%变量名%,player:玩家名,pokemon:宝可梦名,level:宝可梦等级,biome:群系名,xyz:生成坐标
refreshCommands:
- "broadcast:[§6神兽刷新§f] §f传说宝可梦 §e%pokemon% §f出现在了 §a%player% §f的附近!坐标: §6%x% %y% %z%"
# 没有神兽宝可梦刷新时执行的指令 (全服玩家)
# command 玩家执行
# op 玩家以op执行
# console 玩家以控制台执行
# tell 向玩家发送信息
# broadcast 广播信息
# 变量: %player% - 玩家名称
noSpawnCommands:
- "broadcast:[§6神兽刷新§f] §c很遗憾!传奇宝可梦并没有进行刷新!"
# 刷新倒计时配置
countdown:
# 是否开启刷新倒计时 true为开启 false为关闭
enabled: true
# 倒计时显示方式: CHAT(聊天栏), ACTIONBAR(动作栏), TITLE(标题)
displayType: "CHAT"
# 刷新音效配置
sound:
# 是否开启刷新音效 true为开启 false为关闭
enabled: true
# 倒计时音效
countdown:
# 音效名称 (Bukkit Sound枚举)
name: "BLOCK_NOTE_BLOCK_PLING"
# 音量 (0.0-1.0)
volume: 1.0
# 音调 (0.5-2.0)
pitch: 1.0
# 刷新成功音效
spawn:
name: "ENTITY_ENDER_DRAGON_GROWL"
volume: 1.0
pitch: 1.0
# 刷新失败音效
emptySpawn:
name: "ENTITY_VILLAGER_NO"
volume: 1.0
pitch: 1.0
# 刷空设置
# 如果小于等于0[包括0]则关闭
# 连续刷空X次数是会强制刷新一只传奇宝可梦
emptySpawn: 0
# 传奇宝可梦实体发光
# 如果小于等于0[包括0]则关闭
glowing: 300
# 挂机时间 (秒)
# 挂机时间超过此值则被过滤
# 设置为0则关闭
time: 10
# 在线时长 (秒)
# 玩家在线时长低过此值则被过滤 不能参与刷新
# 设置为0则关闭
onlineTime: 0
# 传奇宝可梦保护
# 如果小于等于0[包括0]则关闭
# 单位(秒)
protection: 10
# 传奇宝可梦交易
# 如果 为true 则 拥有 legendary.tradeable.bypass 权限的玩家可以交易
# 如果 为false 则 所有玩家都可以交易
# 不对之前的宝可梦生效
tradeable: false
# 接管刷神 取消本体模组的刷神功能
takeover: false
# 传奇宝可梦刷新记录功能 (如果存储大量的记录会导致启动卡顿)
refresh: false
ui 界面文件说明
配置文件 ui.yml , 主要是自定义配置宝可梦刷新界面。
YAML:
spawn:
title: "当前地形生成传奇宝可梦信息"
item:
name: "§a{pokemon}"
lore:
- "§e刷新权重: §f{weight}"
- "§e刷新概率: §f{chance}%"
- "§b刷新条件:"
- "§a时间: §f{time}"
- "§a天气: §f{weather}"
- "§a月相: §f{moon_phase}"
- "§a高度范围: §f{min_y}:{max_y}"
next_page:
slot: 48
item:
material: "LIME_STAINED_GLASS_PANE"
name: "§a上一页§7[§f{page}/{maxPage}§7]"
search:
slot: 49
item:
material: "COMPASS"
name: "§e点击搜索宝可梦"
previous_page:
slot: 50
item:
material: "LIME_STAINED_GLASS_PANE"
name: "§a下一页§7[§f{page}/{maxPage}§7]"
border:
slot: [ 45, 46, 47, 51, 52, 53 ]
item:
material: "GRAY_STAINED_GLASS_PANE"
name: "§r"
legendary:
title: "全局传奇宝可梦信息"
item:
name: "§a{pokemon}"
lore:
- "§e刷新权重: §f{weight}"
- "§b刷新条件:"
- "§a群系: §f{biome}"
- "§a时间: §f{time}"
- "§a天气: §f{weather}"
- "§a月相: §f{moon_phase}"
- "§a高度范围: §f{min_y}:{max_y}"
next_page:
slot: 48
item:
material: "LIME_STAINED_GLASS_PANE"
name: "§a上一页§7[§f{page}/{maxPage}§7]"
search:
slot: 49
item:
material: "COMPASS"
name: "§e点击搜索宝可梦"
previous_page:
slot: 50
item:
material: "LIME_STAINED_GLASS_PANE"
name: "§a下一页§7[§f{page}/{maxPage}§7]"
border:
slot: [ 45, 46, 47, 51, 52, 53 ]
item:
material: "GRAY_STAINED_GLASS_PANE"
name: "§r"
record:
title: "传奇宝可梦刷新记录"
item:
name: "§f{pokemon_name}"
lore:
- "§a ▶ §b刷新信息:"
- "§f ▪ §a刷新人: §f{player}"
- "§f ▪ §a刷新时间: §f{time}"
- "§f ▪ §a世界: §f{world}"
- "§f ▪ §a坐标: §f{x} {y} {z}"
- "§a ▶ §b等级: §f{level}"
- "§a ▶ §b个体信息§7[§e进度: §f{ivs_sum}%§7]"
- "§f ▪ §a血量:§f {ivs_hp} §a速度:§f {ivs_speed}"
- "§f ▪ §a攻击:§f {ivs_attack} §a防御:§f {ivs_defence}"
- "§f ▪ §a特攻:§f {ivs_special_attack} §a特防:§f {ivs_special_defence}"
- "§a ▶ §b努力值信息§7[§e进度: §f{evs_sum}%§7]"
- "§f ▪ §a血量:§f {evs_hp} §a速度:§f {evs_speed}"
- "§f ▪ §a攻击:§f {evs_attack} §a防御:§f {evs_defence}"
- "§f ▪ §a特攻:§f {evs_special_attack} §a特防:§f {evs_special_defence}"
- "§a ▶ §b基础信息:"
- "§f ▪ §a昵称: §f{nick_name}"
- "§f ▪ §a属性: §f{type1} {type2}"
- "§f ▪ §a性别: §f{gender}"
- "§f ▪ §a性格: §f{nature}§7[{nature_type}§7]"
- "§f ▪ §a性格薄荷: §f{mint_nature}§7[{mint_nature_type}§7]"
- "§f ▪ §a特性: §f{ability}"
- "§f ▪ §a闪光: §f{shiny}"
- "§a ▶ §b技能信息:"
- "§f ▪ §a一技能: §f{move1}"
- "§f ▪ §a二技能: §f{move2}"
- "§f ▪ §a三技能: §f{move3}"
- "§f ▪ §a四技能: §f{move4}"
- "§f ▪ §a持有物: §f{held_item}"
- "§f ▪ §a球种: §f{ball}"
next_page:
slot: 48
item:
material: "LIME_STAINED_GLASS_PANE"
name: "§a上一页§7[§f{page}/{maxPage}§7]"
search:
slot: 49
item:
material: "COMPASS"
name: "§e点击搜索宝可梦"
previous_page:
slot: 50
item:
material: "LIME_STAINED_GLASS_PANE"
name: "§a下一页§7[§f{page}/{maxPage}§7]"
border:
slot: [ 45, 46, 47, 51, 52, 53 ]
item:
material: "GRAY_STAINED_GLASS_PANE"
name: "§r"
message 界面文件说明
YAML:
# 保护相关消息
protection: "[§4神兽保护§f] 当前宝可梦正在收到保护 保护时间:§e{time} 保护者:§a{player} §f请稍后再试"
other_server_spawn: "§6§l传奇宝可梦公告 §e在服务器 §a{server} §e中,传奇宝可梦 §b{pokemon] §e出现在了玩家 §d{player} §e附近的 §a{world} §e世界!"
input:
specify_pokemon: "请输入宝可梦名称"
pokemon_unknown: "请输入正确的宝可梦名称"
# 命令相关消息
cmd:
specify_player: "请输入玩家名称"
player_not_found: "玩家不存在"
reload: "§a已重载配置文件"
force:
spawn_failed: "§c生成传奇宝可梦失败!"
spawn_success: "§a生成传奇宝可梦成功!"
help:
- "§f[§aXcLegendaryPokemonSpawnerPro§f]/leg help 帮助"
- "§f[§aXcLegendaryPokemonSpawnerPro§f]/leg force 尝试生成神兽"
- "§f[§aXcLegendaryPokemonSpawnerPro§f]/leg checkspawn 查看当前位置可生成神兽"
- "§f[§aXcLegendaryPokemonSpawnerPro§f]/leg record 查看神兽生成记录"
- "§f[§aXcLegendaryPokemonSpawnerPro§f]/leg view 查看所有可以生成的神兽"
- "§f[§aXcLegendaryPokemonSpawnerPro§f]/leg reload 重载配置"
condition:
none: "无"
full_day: 全天
record:
time_format: "yyyy-MM-dd HH:mm:ss"
# 刷新相关消息
spawn:
60: "[§6神兽刷新§f] 距离下次神兽刷新还有 60 秒"
30: "[§6神兽刷新§f] 距离下次神兽刷新还有 30 秒"
10: "[§6神兽刷新§f] 距离下次神兽刷新还有 10 秒"
5: "[§6神兽刷新§f] 距离下次神兽刷新还有 5 秒"
4: "[§6神兽刷新§f] 距离下次神兽刷新还有 4 秒"
3: "[§6神兽刷新§f] 距离下次神兽刷新还有 3 秒"
2: "[§6神兽刷新§f] 距离下次神兽刷新还有 2 秒"
1: "[§6神兽刷新§f] 距离下次神兽刷新还有 1 秒"
群组服Velocity配置文件
YAML:
# 广播的服务器(注:广播服务器需自行添加生成服务器)
message-server=[
server-3,
server-4
]
# 生成神兽的服务器
spawn-server=[
server-1,
server-2
]
# 神兽生成配置
spawner {
# 刷新概率 (支持数学运算和PlaceholderAPI变量, 例如: 0.3 + 0.1 + %server_online% * 0.01)
chance="0.48 + 0"
# 刷新时间 (秒)
duration=1600
# 最大概率
max-chance=1.0
# 最小概率
min-chance=0.2
# 最小刷新时间(秒), 防止刷新时间变成负数或过小
min-duration=1600
# 最小刷新玩家
min-num-player=1
# 每增加一个在线玩家所减少的刷新时间(秒), 填0则不减少
time-reduction=1600
}


