2026-02-13 18:50:05 +08:00
|
|
|
|
# PlayerBlockLife 配置文件
|
2026-02-13 20:29:10 +08:00
|
|
|
|
# 版本: 1.0.1-1.20.4
|
2026-02-13 18:50:05 +08:00
|
|
|
|
|
|
|
|
|
|
# 方块设置
|
|
|
|
|
|
blocks:
|
|
|
|
|
|
# 每个玩家的生命方块数量
|
|
|
|
|
|
amount: 5
|
|
|
|
|
|
# 方块生成范围(以玩家为中心的正方形边长的一半)
|
|
|
|
|
|
spread: 5
|
|
|
|
|
|
# 方块埋藏深度(0为地面,负数为地下)
|
|
|
|
|
|
depth: -1
|
|
|
|
|
|
# 方块材质类型
|
|
|
|
|
|
# 可选值: player_head, custom_block, default
|
|
|
|
|
|
material: player_head
|
|
|
|
|
|
# 是否在生成方块时自动填充周围的方块
|
|
|
|
|
|
fill_around: true
|
|
|
|
|
|
|
|
|
|
|
|
# 当使用玩家头颅时的设置
|
|
|
|
|
|
player_head:
|
|
|
|
|
|
# 是否随机旋转头颅方向
|
|
|
|
|
|
random_rotation: true
|
|
|
|
|
|
# 是否显示玩家名字
|
|
|
|
|
|
show_player_name: true
|
|
|
|
|
|
# 是否显示特殊效果
|
|
|
|
|
|
show_effects: true
|
|
|
|
|
|
|
|
|
|
|
|
# 当使用自定义方块时的设置
|
|
|
|
|
|
custom_block:
|
|
|
|
|
|
# 自定义方块材质
|
|
|
|
|
|
material: DIAMOND_BLOCK
|
|
|
|
|
|
# 是否发光
|
|
|
|
|
|
glowing: true
|
|
|
|
|
|
# 发光等级 (0-15)
|
|
|
|
|
|
light_level: 3
|
|
|
|
|
|
|
|
|
|
|
|
# 游戏规则
|
|
|
|
|
|
game:
|
|
|
|
|
|
# 方块被挖光时是否死亡
|
|
|
|
|
|
die_when_blocks_gone: true
|
|
|
|
|
|
# 死亡后是否变成观察者
|
|
|
|
|
|
become_spectator: true
|
|
|
|
|
|
# 观察者模式
|
|
|
|
|
|
spectator_mode:
|
|
|
|
|
|
# 是否可以飞行
|
|
|
|
|
|
can_fly: true
|
|
|
|
|
|
# 是否可以看到其他玩家
|
|
|
|
|
|
can_see_players: true
|
|
|
|
|
|
# 是否可以穿墙
|
|
|
|
|
|
can_clip: true
|
|
|
|
|
|
|
|
|
|
|
|
# 是否启用生命值系统
|
|
|
|
|
|
health_system: true
|
|
|
|
|
|
# 生命值计算公式
|
|
|
|
|
|
health_formula:
|
|
|
|
|
|
# 方块数量与生命值的关系
|
|
|
|
|
|
# 格式: 方块数量:生命值
|
|
|
|
|
|
5: 20
|
|
|
|
|
|
4: 16
|
|
|
|
|
|
3: 12
|
|
|
|
|
|
2: 8
|
|
|
|
|
|
1: 4
|
|
|
|
|
|
0: 0
|
|
|
|
|
|
|
|
|
|
|
|
# 状态效果
|
|
|
|
|
|
status_effects:
|
|
|
|
|
|
# 当剩余2个方块时
|
|
|
|
|
|
two_blocks_left:
|
|
|
|
|
|
- type: SLOW
|
|
|
|
|
|
amplifier: 1
|
|
|
|
|
|
duration: 100
|
|
|
|
|
|
# 当剩余1个方块时
|
|
|
|
|
|
one_block_left:
|
|
|
|
|
|
- type: SLOW
|
|
|
|
|
|
amplifier: 2
|
|
|
|
|
|
duration: 100
|
|
|
|
|
|
- type: WEAKNESS
|
|
|
|
|
|
amplifier: 0
|
|
|
|
|
|
duration: 100
|
|
|
|
|
|
- type: BLINDNESS
|
|
|
|
|
|
amplifier: 0
|
|
|
|
|
|
duration: 100
|
|
|
|
|
|
|
|
|
|
|
|
# 挖掘奖励
|
|
|
|
|
|
break_rewards:
|
|
|
|
|
|
# 是否给予经验
|
|
|
|
|
|
give_exp: true
|
|
|
|
|
|
# 经验数量
|
|
|
|
|
|
exp_amount: 5
|
|
|
|
|
|
# 是否给予物品
|
|
|
|
|
|
give_items: false
|
|
|
|
|
|
# 物品列表
|
|
|
|
|
|
items:
|
|
|
|
|
|
- DIAMOND:1
|
|
|
|
|
|
- GOLD_INGOT:3
|
|
|
|
|
|
|
|
|
|
|
|
# 广播设置
|
|
|
|
|
|
broadcast:
|
|
|
|
|
|
# 方块被破坏时是否广播
|
|
|
|
|
|
on_block_break: true
|
|
|
|
|
|
# 广播范围(格数)
|
|
|
|
|
|
range: 30
|
|
|
|
|
|
# 玩家死亡时是否全服广播
|
|
|
|
|
|
on_player_death: true
|
|
|
|
|
|
# 新玩家加入时是否广播
|
|
|
|
|
|
on_player_join: false
|
|
|
|
|
|
|
|
|
|
|
|
# 皮肤系统
|
|
|
|
|
|
skin:
|
|
|
|
|
|
# 是否启用皮肤系统
|
|
|
|
|
|
enabled: true
|
|
|
|
|
|
# 皮肤来源
|
|
|
|
|
|
source: player_profile
|
|
|
|
|
|
# 可选值: player_profile, mojang_api, local_cache
|
|
|
|
|
|
# player_profile: 从玩家本地缓存获取(推荐,不调用外部API)
|
|
|
|
|
|
# mojang_api: 从Mojang API获取(需要网络)
|
|
|
|
|
|
# local_cache: 从本地缓存获取
|
|
|
|
|
|
|
|
|
|
|
|
# 缓存设置
|
|
|
|
|
|
cache:
|
|
|
|
|
|
# 是否启用缓存
|
|
|
|
|
|
enabled: true
|
|
|
|
|
|
# 缓存过期时间(天)
|
|
|
|
|
|
expire_days: 7
|
|
|
|
|
|
# 缓存最大大小(MB)
|
|
|
|
|
|
max_size_mb: 100
|
|
|
|
|
|
|
|
|
|
|
|
# 默认皮肤(当无法获取玩家皮肤时)
|
|
|
|
|
|
default_skin:
|
|
|
|
|
|
# 使用哪个玩家的皮肤作为默认
|
|
|
|
|
|
player_name: Steve
|
|
|
|
|
|
# 或使用自定义UUID
|
|
|
|
|
|
uuid: 8667ba71-b85a-4004-af54-457a9734eed7
|
|
|
|
|
|
# 是否随机分配默认皮肤
|
|
|
|
|
|
random_default: false
|
|
|
|
|
|
# 可选的默认皮肤列表
|
|
|
|
|
|
available_skins:
|
|
|
|
|
|
- Steve
|
|
|
|
|
|
- Alex
|
|
|
|
|
|
- Enderman
|
|
|
|
|
|
|
|
|
|
|
|
# 皮肤处理
|
|
|
|
|
|
processing:
|
|
|
|
|
|
# 是否异步处理皮肤
|
|
|
|
|
|
async: true
|
|
|
|
|
|
# 处理线程数
|
|
|
|
|
|
threads: 2
|
|
|
|
|
|
# 超时时间(秒)
|
|
|
|
|
|
timeout: 10
|
|
|
|
|
|
# 重试次数
|
|
|
|
|
|
retry_times: 3
|
|
|
|
|
|
|
|
|
|
|
|
# 数据存储
|
|
|
|
|
|
storage:
|
|
|
|
|
|
# 存储类型
|
|
|
|
|
|
# 可选值: yaml, json, sqlite, mysql
|
|
|
|
|
|
type: yaml
|
|
|
|
|
|
|
|
|
|
|
|
# 自动保存
|
|
|
|
|
|
auto_save:
|
|
|
|
|
|
# 是否启用自动保存
|
|
|
|
|
|
enabled: true
|
|
|
|
|
|
# 保存间隔(秒)
|
|
|
|
|
|
interval: 300
|
|
|
|
|
|
|
|
|
|
|
|
# YAML存储设置
|
|
|
|
|
|
yaml:
|
|
|
|
|
|
# 数据文件编码
|
|
|
|
|
|
encoding: UTF-8
|
|
|
|
|
|
# 是否压缩
|
|
|
|
|
|
compress: false
|
|
|
|
|
|
|
|
|
|
|
|
# SQLite设置
|
|
|
|
|
|
sqlite:
|
|
|
|
|
|
# 数据库文件路径
|
|
|
|
|
|
file: plugins/PlayerBlockLife/data.db
|
|
|
|
|
|
# 连接池大小
|
|
|
|
|
|
pool_size: 5
|
|
|
|
|
|
|
|
|
|
|
|
# MySQL设置
|
|
|
|
|
|
mysql:
|
|
|
|
|
|
# 数据库主机
|
|
|
|
|
|
host: localhost
|
|
|
|
|
|
# 数据库端口
|
|
|
|
|
|
port: 3306
|
|
|
|
|
|
# 数据库名
|
|
|
|
|
|
database: minecraft
|
|
|
|
|
|
# 用户名
|
|
|
|
|
|
username: root
|
|
|
|
|
|
# 密码
|
|
|
|
|
|
password: password
|
|
|
|
|
|
# 表前缀
|
|
|
|
|
|
table_prefix: pbl_
|
|
|
|
|
|
# 连接池设置
|
|
|
|
|
|
pool:
|
|
|
|
|
|
max_connections: 10
|
|
|
|
|
|
min_connections: 2
|
|
|
|
|
|
connection_timeout: 30000
|
|
|
|
|
|
idle_timeout: 600000
|
|
|
|
|
|
|
|
|
|
|
|
# 消息配置
|
|
|
|
|
|
messages:
|
|
|
|
|
|
# 消息前缀
|
|
|
|
|
|
prefix: "&6[&ePlayerBlockLife&6]&r "
|
|
|
|
|
|
# 消息颜色
|
|
|
|
|
|
colors:
|
|
|
|
|
|
success: "&a"
|
|
|
|
|
|
error: "&c"
|
|
|
|
|
|
warning: "&e"
|
|
|
|
|
|
info: "&7"
|
|
|
|
|
|
highlight: "&6"
|
|
|
|
|
|
|
|
|
|
|
|
# 命令消息
|
|
|
|
|
|
commands:
|
|
|
|
|
|
setlifeblocks:
|
|
|
|
|
|
success: "&a已为你生成 {blocks} 个生命方块!"
|
|
|
|
|
|
already_has: "&c你已经有生命方块了!使用 /checklifeblocks 查看位置"
|
|
|
|
|
|
no_skin: "&e你的皮肤正在加载中,请稍候..."
|
|
|
|
|
|
failed: "&c无法生成生命方块,请确保周围有足够空间"
|
|
|
|
|
|
|
|
|
|
|
|
checklifeblocks:
|
|
|
|
|
|
no_blocks: "&c你还没有设置生命方块!使用 /setlifeblocks 来设置"
|
|
|
|
|
|
info: "&a你的生命方块信息:"
|
|
|
|
|
|
location: "&7{index}. &e世界: {world} &7坐标: &a{x}&7, &a{y}&7, &a{z}"
|
|
|
|
|
|
remaining: "&7剩余方块: &e{remaining}&7/&a5"
|
|
|
|
|
|
health: "&7当前生命值: &c{health} ❤"
|
|
|
|
|
|
|
|
|
|
|
|
admin:
|
|
|
|
|
|
reload: "&a插件配置已重载!"
|
|
|
|
|
|
delete_success: "&a已删除玩家 {player} 的生命方块"
|
|
|
|
|
|
delete_failed: "&c删除失败,玩家不存在或没有生命方块"
|
|
|
|
|
|
revive_success: "&a玩家 {player} 已复活!"
|
|
|
|
|
|
revive_failed: "&c复活失败,玩家不存在或未死亡"
|
|
|
|
|
|
|
|
|
|
|
|
# 游戏消息
|
|
|
|
|
|
game:
|
|
|
|
|
|
block_destroyed:
|
|
|
|
|
|
owner: "&c⚠ 警告!你的生命方块被 {breaker} 破坏了!"
|
|
|
|
|
|
breaker: "&a你破坏了 {owner} 的生命方块!"
|
|
|
|
|
|
remaining: "&7对方剩余生命方块: &a{remaining}"
|
|
|
|
|
|
broadcast: "&7[附近] &e一个生命方块被破坏了!"
|
|
|
|
|
|
|
|
|
|
|
|
death:
|
|
|
|
|
|
title: "&4☠ 你死了!"
|
|
|
|
|
|
subtitle: "&c所有生命方块已被挖光"
|
|
|
|
|
|
broadcast: "&4☠ 玩家 {player} 的生命方块已被全部挖光,惨遭淘汰!"
|
|
|
|
|
|
spectator: "&e你已被淘汰,可以观察其他玩家。等待下一轮游戏开始..."
|
|
|
|
|
|
|
|
|
|
|
|
warning:
|
|
|
|
|
|
low_blocks: "&c⚠ 警告!生命方块即将耗尽!"
|
|
|
|
|
|
last_block: "&4⚠ 警告!这是最后一个生命方块!"
|
|
|
|
|
|
health_low: "&4⚠ 警告!生命值过低!"
|
|
|
|
|
|
|
|
|
|
|
|
# 加入消息
|
|
|
|
|
|
join:
|
|
|
|
|
|
welcome: "&e欢迎加入游戏!"
|
|
|
|
|
|
welcome_back: "&e欢迎回来,{player}!"
|
|
|
|
|
|
rules: |
|
|
|
|
|
|
&6游戏规则:
|
|
|
|
|
|
&7- 每个玩家有5个生命方块
|
|
|
|
|
|
&7- 方块被其他玩家挖光时,你将死亡
|
|
|
|
|
|
&7- 方块使用你的皮肤作为材质
|
|
|
|
|
|
&7- 你可以自由移动,但方块固定位置
|
|
|
|
|
|
remaining_blocks: "&7你还有 {blocks} 个生命方块"
|
|
|
|
|
|
commands: "&7使用 &e/setlifeblocks &7来设置你的生命方块"
|
|
|
|
|
|
|
|
|
|
|
|
# 效果设置
|
|
|
|
|
|
effects:
|
|
|
|
|
|
# 方块放置效果
|
|
|
|
|
|
place:
|
|
|
|
|
|
particles:
|
|
|
|
|
|
- type: ENCHANTMENT_TABLE
|
|
|
|
|
|
count: 30
|
|
|
|
|
|
offset_x: 0.3
|
|
|
|
|
|
offset_y: 0.3
|
|
|
|
|
|
offset_z: 0.3
|
|
|
|
|
|
speed: 0.1
|
|
|
|
|
|
sounds:
|
|
|
|
|
|
- type: BLOCK_ANVIL_PLACE
|
|
|
|
|
|
volume: 0.5
|
|
|
|
|
|
pitch: 1.2
|
|
|
|
|
|
|
|
|
|
|
|
# 方块破坏效果
|
|
|
|
|
|
break:
|
|
|
|
|
|
particles:
|
|
|
|
|
|
- type: BLOCK_CRACK
|
|
|
|
|
|
count: 50
|
|
|
|
|
|
offset_x: 0.5
|
|
|
|
|
|
offset_y: 0.5
|
|
|
|
|
|
offset_z: 0.5
|
|
|
|
|
|
speed: 0.5
|
|
|
|
|
|
data: PLAYER_HEAD
|
|
|
|
|
|
- type: SMOKE_LARGE
|
|
|
|
|
|
count: 20
|
|
|
|
|
|
offset_x: 0.3
|
|
|
|
|
|
offset_y: 0.3
|
|
|
|
|
|
offset_z: 0.3
|
|
|
|
|
|
speed: 0.05
|
|
|
|
|
|
sounds:
|
|
|
|
|
|
- type: ENTITY_ITEM_BREAK
|
|
|
|
|
|
volume: 1.0
|
|
|
|
|
|
pitch: 0.8
|
|
|
|
|
|
- type: BLOCK_GLASS_BREAK
|
|
|
|
|
|
volume: 0.8
|
|
|
|
|
|
pitch: 1.0
|
|
|
|
|
|
knockback:
|
|
|
|
|
|
enabled: true
|
|
|
|
|
|
power: 0.5
|
|
|
|
|
|
vertical: 0.3
|
|
|
|
|
|
|
|
|
|
|
|
# 玩家受伤效果
|
|
|
|
|
|
damage:
|
|
|
|
|
|
particles:
|
|
|
|
|
|
- type: DAMAGE_INDICATOR
|
|
|
|
|
|
count: 10
|
|
|
|
|
|
sounds:
|
|
|
|
|
|
- type: ENTITY_PLAYER_HURT
|
|
|
|
|
|
volume: 1.0
|
|
|
|
|
|
pitch: 1.0
|
|
|
|
|
|
|
|
|
|
|
|
# 玩家死亡效果
|
|
|
|
|
|
player_death:
|
|
|
|
|
|
particles:
|
|
|
|
|
|
- type: EXPLOSION_HUGE
|
|
|
|
|
|
count: 5
|
|
|
|
|
|
sounds:
|
|
|
|
|
|
- type: ENTITY_WITHER_DEATH
|
|
|
|
|
|
volume: 0.7
|
|
|
|
|
|
pitch: 0.8
|
|
|
|
|
|
- type: ENTITY_LIGHTNING_BOLT_THUNDER
|
|
|
|
|
|
volume: 1.0
|
|
|
|
|
|
pitch: 0.5
|
|
|
|
|
|
|
|
|
|
|
|
# 保护设置
|
|
|
|
|
|
protection:
|
|
|
|
|
|
# 是否保护生命方块不被非玩家破坏
|
|
|
|
|
|
protect_from_non_players: true
|
|
|
|
|
|
# 是否保护生命方块不被爆炸破坏
|
|
|
|
|
|
protect_from_explosions: true
|
|
|
|
|
|
# 是否保护生命方块不被火焰烧毁
|
|
|
|
|
|
protect_from_fire: true
|
|
|
|
|
|
# 是否保护生命方块不被活塞推动
|
|
|
|
|
|
protect_from_pistons: true
|
|
|
|
|
|
# 是否允许TNT破坏生命方块
|
|
|
|
|
|
allow_tnt_damage: false
|
|
|
|
|
|
# 是否允许苦力怕爆炸破坏生命方块
|
|
|
|
|
|
allow_creeper_explosions: false
|
|
|
|
|
|
# 是否允许末影龙破坏生命方块
|
|
|
|
|
|
allow_ender_dragon_damage: false
|
|
|
|
|
|
# 是否允许其他插件修改生命方块
|
|
|
|
|
|
allow_plugin_modification: false
|
|
|
|
|
|
|
|
|
|
|
|
# 世界保护
|
|
|
|
|
|
world_guard:
|
|
|
|
|
|
# 是否与WorldGuard集成
|
|
|
|
|
|
enabled: false
|
|
|
|
|
|
# 需要保护的地区标志
|
|
|
|
|
|
region_flags:
|
|
|
|
|
|
- block-break
|
|
|
|
|
|
- block-place
|
|
|
|
|
|
- pvp
|
|
|
|
|
|
# 白名单地区(允许破坏生命方块的地区)
|
|
|
|
|
|
whitelist_regions: []
|
|
|
|
|
|
# 黑名单地区(不允许破坏生命方块的地区)
|
|
|
|
|
|
blacklist_regions: []
|
|
|
|
|
|
|
|
|
|
|
|
# 调试设置
|
|
|
|
|
|
debug:
|
|
|
|
|
|
# 是否启用调试模式
|
|
|
|
|
|
enabled: false
|
|
|
|
|
|
# 调试级别
|
|
|
|
|
|
# 可选值: INFO, WARNING, ERROR, DEBUG
|
|
|
|
|
|
level: INFO
|
|
|
|
|
|
# 是否记录到文件
|
|
|
|
|
|
log_to_file: true
|
|
|
|
|
|
# 日志文件路径
|
|
|
|
|
|
log_file: plugins/PlayerBlockLife/debug.log
|
|
|
|
|
|
# 是否显示详细事件日志
|
|
|
|
|
|
verbose_events: false
|
|
|
|
|
|
# 是否记录性能数据
|
|
|
|
|
|
log_performance: false
|
|
|
|
|
|
# 性能日志间隔(秒)
|
|
|
|
|
|
performance_log_interval: 60
|