- 版权类型
- 原创
- 插件中文名称
- 孤独方块
- 插件英文名称
- LonelyBlock
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- 语言支持
- 中文(简体)
- 前置组件
- NeigeItems物品库 / MythicMobs物品库 (可选)
- 适配版本(Java)
- 最新版本
- 26.x
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
■ 孤独方块 ■
1.8-26.3 LonelyBlock v1.0.0
插件交流群: 1015929046
⚠ 该插件代码90%为AI创作 如有介意请勿使用!⚠
插件介绍
用户可以在配置文件中 自定义采集方块/ 采集指定方块后的掉落物/ 采集后获得的金币(Vault)/点券(PlayerPoints)/经验/自定义变量
可以设定 指定的采集工具
并且可以自定义 挖掘所需时间、使用指定采集工具后减少的挖掘时间/挖掘掉落倍率
配置文件
config.yml
1.8-26.3 LonelyBlock v1.0.0
插件交流群: 1015929046
⚠ 该插件代码90%为AI创作 如有介意请勿使用!⚠
插件介绍
用户可以在配置文件中 自定义采集方块/ 采集指定方块后的掉落物/ 采集后获得的金币(Vault)/点券(PlayerPoints)/经验/自定义变量
可以设定 指定的采集工具
并且可以自定义 挖掘所需时间、使用指定采集工具后减少的挖掘时间/挖掘掉落倍率
配置文件
config.yml
YAML:
# ====================================================================
# LonelyBlock 自定义方块掉落插件 - 主配置文件
# 作者: lone_vep
# 适配版本: 1.8 ~ 26.2 (含中间所有版本)
# ====================================================================
# 配置说明:
# - 所有向玩家发送的提示均在 lang.yml 中自定义 (控制台启动/关闭消息已内置代码)
# - 方块配置在 blocks/ 文件夹下的 .yml 文件中定义
# - 颜色代码使用 & 符号 (如 &c &a &e 等); 1.16+ 支持 HEX: &#FFAA00
# - 物品库引用格式:
# mm:物品ID - 从 MythicMobs 物品库提取
# ni:物品ID - 从 NeigeItems 物品库提取
# vanilla:物品ID - 原版物品 (如 vanilla:DIAMOND 或 vanilla:minecraft:diamond)
# - 命令格式:
# op:命令 - 以 OP 身份执行 (玩家权限组不变, 不会成为OP)
# console:命令 - 以控制台身份执行
# - 内置变量:
# %player_name% - 触发该指令的玩家ID
# %player_uuid% - 玩家UUID
# %player_x/y/z% - 玩家坐标
# %player_world% - 玩家所在世界
# %block_x/y/z% - 方块坐标
# %block_world% - 方块所在世界
# - 数值随机值格式 (除掉落数量外, 所有数值字段均支持):
# "5" / "5.5" 固定值
# "1_5" 随机范围 [1, 5], 默认 0 位小数
# "1.5_5.5_2" 随机范围 [1.5, 5.5], 保留 2 位小数
# "1.5_5.5_0" 随机范围 [1.5, 5.5], 保留 0 位小数 (整数)
# 掉落数量(amount)随机值格式 (整数): "3" 或 "1_5"
# ====================================================================
settings:
# 是否开启调试模式 (会在控制台输出详细信息)
debug: false
# 是否需要 lonelyblock.use 权限才能触发方块掉落
require-use-permission: false
# PlaceholderAPI 扩展标识符 (本插件的自定义变量通过 %<标识符>_<变量名>% 暴露)
# 例如设为 ll, 则变量 ll_level 可通过 %ll_level% 在其它插件中读取
# 修改后需重启服务器生效
papi-identifier: "ll"
# 挖掘速率 lore 关键字 (读取工具 lore 中该关键字后的数字, 作为挖掘速率倍率)
# 最终挖掘时间 = 方块配置的挖掘时间 / 挖掘速率倍率, 保留一位小数
# 例如工具 lore 含 "挖掘速率: 1.2", 方块配置挖掘时间 10s -> 实际 10/1.2 = 8.3s
# 关键字后的数字支持整数或小数 (如 1.2 / 2 / 0.5); 倍率 <= 0 时忽略不生效
# 留空或不配置此项则不启用此功能 (工具 lore 不影响挖掘时间)
mining-speed-lore: "挖掘速率"
# 挖掘倍率 lore 关键字 (读取工具 lore 中该关键字后的数字, 作为掉落数量倍率)
# 实际掉落数量 = 方块配置的掉落数量 × 挖掘倍率 (四舍五入取整, 原数量>0时保底1个)
# 例如工具 lore 含 "挖掘倍率: 2.0", 方块配置掉落 1 个 -> 实际掉落 1×2 = 2 个
# 关键字后的数字支持整数或小数 (如 2.0 / 2 / 1.5); 倍率 <= 0 时忽略不生效
# 留空或不配置此项则不启用此功能 (掉落数量不受 lore 影响)
mining-multiplier-lore: "挖掘倍率"
# 注意: 挖掘速率 / 挖掘倍率 的判定只读取关键字后的第一个数字, 分隔符不限
# 即 "挖掘速率: 1.2" / "挖掘速率=1.2" / "挖掘速率 1.2" 效果完全相同
# ====================================================================
# 自定义变量定义 - 由本插件管理的内部变量
# 变量名可包含字母/数字/下划线/连字符/中文, 如 ll_level
# 这些变量:
# - 通过 PlaceholderAPI 暴露为 %<papi-identifier>_<变量名>% (需安装 PlaceholderAPI)
# - 可在 blocks/*.yml 的 conditions / rewards / costs 中使用 (直接用变量名, 不需要 %)
# - 按玩家存储, 持久化保存到 variables.yml
# ====================================================================
custom-variables:
# 变量名: 默认值 (新玩家自动获得默认值)
ll_level: 0
mining_count: 0
# 注意:
# - 玩家提示消息请编辑 lang.yml
# - 方块配置请在 blocks/ 文件夹下创建 .yml 文件
language.yml
YAML:
# ====================================================================
# LonelyBlock 语言文件 - 所有向玩家发送的提示信息均在此自定义
# (控制台启动/关闭消息已内置代码, 不可配置)
# ====================================================================
# 颜色代码使用 & 符号 (如 &c &a &e 等); 1.16+ 支持 HEX: &#FFAA00
# 变量:
# %item_id% - 物品ID (用于物品未找到提示)
# %amount% - 数量 (用于奖励/扣除提示)
# %variable% - 变量名 (用于变量奖励/扣除提示)
# ====================================================================
# 消息前缀 (留空则不加前缀)
prefix: "&8[&aLonelyBlock&8] &r"
# 没有权限时提示 (执行命令)
no-permission: "&c你没有权限执行此操作!"
# 当玩家用错误工具破坏方块时的默认提示 (可在方块配置 messages.wrong-tool 覆盖)
invalid-tool: "&c你需要使用正确的工具才能破坏这个方块!"
# 物品库未找到物品
item-not-found: "&c物品 &e%item_id% &c在物品库中未找到, 请联系管理员检查配置!"
mythicmobs-not-found: "&c未检测到 MythicMobs 物品库, 无法获取物品 &e%item_id%"
neigeitems-not-found: "&c未检测到 NeigeItems 物品库, 无法获取物品 &e%item_id%"
# 经济系统未安装
vault-not-found: "&c未检测到 Vault 经济插件, 无法给予/扣除金币!"
playerpoints-not-found: "&c未检测到 PlayerPoints 点券插件, 无法给予/扣除点券!"
# 奖励提示 (留空 "" 则不提示)
money-given: "&a你获得了 &e%amount% &a金币!"
points-given: "&a你获得了 &e%amount% &a点券!"
exp-given: "&a你获得了 &e%amount% &a点经验!"
variable-given: "&a你获得了 &e%amount% &a点 &e%variable%!"
# 扣除提示 (留空 "" 则不提示)
money-cost: "&c扣除 &e%amount% &c金币!"
points-cost: "&c扣除 &e%amount% &c点券!"
exp-cost: "&c扣除 &e%amount% &c点经验!"
variable-cost: "&c扣除 &e%amount% &c点 &e%variable%!"
# 挖掘条件不满足提示 (默认, 可在方块配置 messages.condition-failed 覆盖)
condition-failed: "&c你不满足挖掘此方块的条件!"
no-permission-mine: "&c你没有权限挖掘此方块!"
cannot-afford: "&c你的资源不足, 无法挖掘此方块!"
# 重新加载提示
plugin-reloaded: "&a插件配置已重新加载!"
plugin-reload-failed: "&c插件配置重载失败, 请查看控制台日志!"
# 帮助信息
help:
- "&8&m==========&r &aLonelyBlock &8&m=========="
- "&e/lonelyblock reload &7- 重新加载配置文件"
- "&e/lonelyblock help &7- 显示此帮助信息"
- "&8&m============================="
language.yml
YAML:
# ====================================================================
# LonelyBlock 自定义方块掉落插件 - 主配置文件
# 作者: lone_vep
# 适配版本: 1.8 ~ 26.2 (含中间所有版本)
# ====================================================================
# 配置说明:
# - 所有向玩家发送的提示均在 lang.yml 中自定义 (控制台启动/关闭消息已内置代码)
# - 方块配置在 blocks/ 文件夹下的 .yml 文件中定义
# - 颜色代码使用 & 符号 (如 &c &a &e 等); 1.16+ 支持 HEX: &#FFAA00
# - 物品库引用格式:
# mm:物品ID - 从 MythicMobs 物品库提取
# ni:物品ID - 从 NeigeItems 物品库提取
# vanilla:物品ID - 原版物品 (如 vanilla:DIAMOND 或 vanilla:minecraft:diamond)
# - 命令格式:
# op:命令 - 以 OP 身份执行 (玩家权限组不变, 不会成为OP)
# console:命令 - 以控制台身份执行
# - 内置变量:
# %player_name% - 触发该指令的玩家ID
# %player_uuid% - 玩家UUID
# %player_x/y/z% - 玩家坐标
# %player_world% - 玩家所在世界
# %block_x/y/z% - 方块坐标
# %block_world% - 方块所在世界
# - 数值随机值格式 (除掉落数量外, 所有数值字段均支持):
# "5" / "5.5" 固定值
# "1_5" 随机范围 [1, 5], 默认 0 位小数
# "1.5_5.5_2" 随机范围 [1.5, 5.5], 保留 2 位小数
# "1.5_5.5_0" 随机范围 [1.5, 5.5], 保留 0 位小数 (整数)
# 掉落数量(amount)随机值格式 (整数): "3" 或 "1_5"
# ====================================================================
settings:
# 是否开启调试模式 (会在控制台输出详细信息)
debug: false
# 是否需要 lonelyblock.use 权限才能触发方块掉落
require-use-permission: false
# PlaceholderAPI 扩展标识符 (本插件的自定义变量通过 %<标识符>_<变量名>% 暴露)
# 例如设为 ll, 则变量 ll_level 可通过 %ll_level% 在其它插件中读取
# 修改后需重启服务器生效
papi-identifier: "ll"
# 挖掘速率 lore 关键字 (读取工具 lore 中该关键字后的数字, 作为挖掘速率倍率)
# 最终挖掘时间 = 方块配置的挖掘时间 / 挖掘速率倍率, 保留一位小数
# 例如工具 lore 含 "挖掘速率: 1.2", 方块配置挖掘时间 10s -> 实际 10/1.2 = 8.3s
# 关键字后的数字支持整数或小数 (如 1.2 / 2 / 0.5); 倍率 <= 0 时忽略不生效
# 留空或不配置此项则不启用此功能 (工具 lore 不影响挖掘时间)
mining-speed-lore: "挖掘速率"
# 挖掘倍率 lore 关键字 (读取工具 lore 中该关键字后的数字, 作为掉落数量倍率)
# 实际掉落数量 = 方块配置的掉落数量 × 挖掘倍率 (四舍五入取整, 原数量>0时保底1个)
# 例如工具 lore 含 "挖掘倍率: 2.0", 方块配置掉落 1 个 -> 实际掉落 1×2 = 2 个
# 关键字后的数字支持整数或小数 (如 2.0 / 2 / 1.5); 倍率 <= 0 时忽略不生效
# 留空或不配置此项则不启用此功能 (掉落数量不受 lore 影响)
mining-multiplier-lore: "挖掘倍率"
# 注意: 挖掘速率 / 挖掘倍率 的判定只读取关键字后的第一个数字, 分隔符不限
# 即 "挖掘速率: 1.2" / "挖掘速率=1.2" / "挖掘速率 1.2" 效果完全相同
# ====================================================================
# 自定义变量定义 - 由本插件管理的内部变量
# 变量名可包含字母/数字/下划线/连字符/中文, 如 ll_level
# 这些变量:
# - 通过 PlaceholderAPI 暴露为 %<papi-identifier>_<变量名>% (需安装 PlaceholderAPI)
# - 可在 blocks/*.yml 的 conditions / rewards / costs 中使用 (直接用变量名, 不需要 %)
# - 按玩家存储, 持久化保存到 variables.yml
# ====================================================================
custom-variables:
# 变量名: 默认值 (新玩家自动获得默认值)
ll_level: 0
mining_count: 0
# 注意:
# - 玩家提示消息请编辑 lang.yml
# - 方块配置请在 blocks/ 文件夹下创建 .yml 文件
example.yml (方块配置示例)
YAML:
# ====================================================================
# LonelyBlock 方块配置示例文件
# ====================================================================
# 每一个顶层 key 都是一个独立的方块配置
# 玩家破坏方块时会按顺序检查所有配置, 匹配上第一个就执行
# 可在本目录 (blocks/) 下创建多个 .yml 文件, 所有文件会被合并加载
# ====================================================================
#
# 数值随机值格式 (除掉落数量外, 所有数值字段均支持):
# "5" - 固定值 5
# "5.5" - 固定值 5.5
# "1_5" - 随机范围 [1, 5], 默认 0 位小数 (返回整数)
# "1.5_5.5" - 随机范围 [1.5, 5.5], 默认 0 位小数
# "1.5_5.5_2" - 随机范围 [1.5, 5.5], 保留 2 位小数
# "1.5_5.5_0" - 随机范围 [1.5, 5.5], 保留 0 位小数 (整数)
#
# 掉落数量(amount)随机值格式 (整数, 无小数字段):
# "3" - 固定 3 个
# "1_5" - 随机 1~5 个
# ====================================================================
#
# ===== 挖掘速度控制 (急迫/挖掘疲劳 buff 机制) =====
# 插件不再用自定义会话+发包裂纹动画控制挖掘速度, 而是让原版挖掘系统工作,
# 通过给予玩家 急迫(Haste)/挖掘疲劳(Mining Fatigue) 效果把原版挖掘时间调整到配置目标.
# 原版裂纹动画由客户端/服务端协同计算, 天然同步, 无不同步问题.
#
# 计算公式 (正确工具, 站立地面):
# 原版时间 T = 方块硬度 * 1.5 / 工具材质速度
# 急迫: 速度 *= (1 + 0.2 * 等级) (Haste I=1.2x, II=1.4x, III=1.6x...)
# 挖掘疲劳: 原版为硬编码查表, 并非连续公式 (Fatigue I=0.3x, II=0.09x, III=0.0027x, IV+=0.00081x)
# 可见 III 级及以上衰减极其剧烈(慢 370 倍以上), 插件会优先选择 I / II 级温和减速.
# 插件在 (急迫, 疲劳) 组合空间内搜索最接近目标时间且"不快于目标"的等级组合.
#
# 因此 tools 配置项中除 tool/time 外, 还需填写 material (工具材质):
# material: 原版工具材质, 取值: wood / stone / iron / diamond / netherite / gold / hand
# ※ 请确保所填材质与物品实际材质一致 (尤其 NeigeItems 物品, 以其底层 Material 为准),
# 否则原版挖掘实际速度与计算不符, 挖掘时间会有偏差.
#
# 方块硬度 (hardness, 可选): 用于挖掘速度计算.
# 不填则按方块 Material 自动查表 (常见方块已内置); 查不到则默认 1.5 (石头).
# 想精确控制时建议手动填写 (可查 Minecraft wiki: 方块硬度).
# ====================================================================
# ===== 示例1: 橡木原木 (木斧破坏, 概率掉落, 自定义挖掘时间) =====
oak_log_example:
# 方块的英文ID列表 - 任意一个匹配即可
# 1.13+ 用 "minecraft:oak_log" 或 "OAK_LOG"; 1.8-1.12 用 "LOG:0" 或 "LOG"
# 建议同时填写多个版本ID以确保跨版本兼容
block-ids:
- "minecraft:oak_log"
- "OAK_LOG"
- "LOG:0"
# 方块硬度 (可选; 用于挖掘速度计算. 不填则自动查表, 橡木原木查表为 2.0)
hardness: 2.0
# ===== 挖掘条件 (全部满足才能挖掘; 留空则无条件) =====
conditions:
# 所需权限 (玩家必须拥有其中所有权限才能挖掘)
permissions: []
# 变量条件 - 格式: "变量名 操作符 数值"
# 操作符: >= (大于等于) | <= (小于等于) | == (等于) | != (不等于) | > (大于) | < (小于)
# 变量名: 本插件自定义变量 (如 ll_level) 或 PlaceholderAPI 占位符 (用 %% 包裹, 如 %player_points%)
# 示例: "ll_level >= 5" 表示 ll_level 变量需 >= 5 才能挖
variables:
- "ll_level >= 0"
# ===== 工具与挖掘时间 =====
# 列出的工具: 用对应工具挖掘, 按其 time 字段的秒数计时
# 未列出的工具: 仍可挖掘, 但使用 default-time 计时, 不掉落任何物品, 破坏后方块立马复原, 发送错误工具提示
# 若 tools 留空 (不填写), 则所有工具都视为"有效工具", 都会掉落物品
# time 支持随机值: 如 "2.0_4.0_2" 表示 2.00~4.00 秒, 保留2位小数
# material: 工具的原版材质 (wood/stone/iron/diamond/netherite/gold/hand),
# 插件据此计算所需急迫/疲劳等级以达成 time 目标. 务必与物品实际材质一致.
tools:
- tool: "name:&c木斧"
material: "wood" # 木制工具, 原版速度 2.0
time: 2.50
- tool: "name:&c石斧"
material: "stone" # 石制工具, 原版速度 4.0
time: 1.50
- tool: "mm:木斧"
material: "wood"
time: 0.50
# 未列出工具的默认挖掘时间 (秒, 支持随机值)
default-time: 5.00
# ===== 掉落物列表 (支持概率和CustomModelData, 数量/概率支持随机值) =====
# 每个掉落物可写成:
# 简写字符串: "mm:物品ID" (数量1, 概率100, 无CustomModelData)
# 或带参数字符串 (用 | 分隔, 因物品ID本身含冒号): "mm:物品ID|数量|概率|CustomModelData"
# 数量格式: "3" 或 "1_5" (随机1~5个)
# 概率为 0~100 (百分比), 支持随机值; CustomModelData 为整数, -1 表示不设置 (仅1.14+生效)
# 或映射 (推荐, 更清晰):
# item: "mm:物品ID" 物品定义 (必填)
# amount: 1 数量 (默认1, 支持随机值 "1_5")
# chance: 100.0 概率 0~100 (默认100, 支持随机值)
# custom-model-data: -1 CustomModelData (默认-1不设置, 仅1.14+生效)
drops:
- item: "mm:特殊木材"
amount: 2
chance: 50.0
custom-model-data: -1
- "ni:普通木板|1|100.0"
- "vanilla:STICK|3|80.0"
- item: "vanilla:APPLE"
amount: "1_3" # 随机掉落 1~3 个
chance: "30_60" # 概率随机 30%~60%
# ===== 奖励 (挖掘成功后给予; 数值支持随机值) =====
rewards:
money: 100.0 # 金币 (需 Vault), 0 或不填表示不给; 支持随机值
points: 5 # 点券 (需 PlayerPoints), 0 或不填表示不给; 支持随机值
exp: 20 # 原版经验值, 0 或不填表示不给; 支持随机值
# 自定义变量奖励 - 格式: "变量名:数值" (数值支持随机值)
variables:
- "mining_count:1"
- "ll_level:0.5_2.0_2" # 随机给 0.50~2.00 点, 保留2位小数
# ===== 扣除 (挖掘成功后扣除; 若挖掘前不足则不能挖掘; 数值支持随机值) =====
costs:
money: 0.0
points: 0
exp: 0
variables: []
# ===== 消息 (挖掘后发送; 各项留空 "" 则不发送) =====
messages:
success: "&a你砍倒了一棵橡木! 获得 &e%money% &a金币!" # 给挖掘者
broadcast: "" # 全服通告 (留空则不通告)
wrong-tool: "&c你需要使用 &e木斧 &c或 &e石斧 &c才能砍伐橡木!" # 错误工具提示
condition-failed: "&c你的等级不足以砍伐此橡木!" # 条件不满足
no-permission: "&c你没有权限砍伐此橡木!" # 权限不足
cannot-afford: "&c你的资源不足, 无法砍伐!" # 资源不足
# ===== 方块恢复设置 =====
restore:
# 是否启用恢复 (true: 破坏后定时恢复; false: 永久破坏)
enabled: true
# 恢复时间 (秒, 支持随机值, 如 "20_40" 表示 20~40 秒)
time: 30.00
# ===== 挖掘后触发的命令 =====
commands:
- "op: give %player_name% beef 64"
- "console: say %player_name% 砍倒了一棵橡木!"
# ===== 示例2: 钻石矿石 (条件挖掘 + 多种奖励 + 点券扣除) =====
diamond_ore_example:
block-ids:
- "minecraft:diamond_ore"
- "DIAMOND_ORE"
- "DIAMOND_ORE:0"
# 钻石矿石硬度 3.0 (可省略, 自动查表亦为 3.0)
hardness: 3.0
conditions:
permissions: ["lonelyblock.mine.diamond"]
variables:
- "ll_level >= 10"
tools:
- tool: "ni:特殊钻石镐"
material: "diamond" # 钻石材质, 原版速度 8.0 (请与 NI 物品底层 Material 对齐)
time: 3.00
- tool: "name:&b钻石镐"
material: "diamond"
time: 5.00
default-time: 8.00
drops:
- item: "vanilla:DIAMOND"
amount: 1
chance: 100.0
- item: "mm:稀有宝石"
amount: 1
chance: 25.0
custom-model-data: 10001
rewards:
money: 500.0
points: 10
exp: 100
variables:
- "ll_level:2"
costs:
money: 50.0
points: 1
exp: 0
variables: []
messages:
success: "&b你挖到了钻石! &a+%money%金币 &b+%points%点券"
broadcast: "&e%player_name% &b挖到了一颗钻石!"
wrong-tool: "&c你需要使用 &b特殊钻石镐 &c才能挖掘此矿石!"
condition-failed: "&c你的等级不足以挖掘钻石矿 (需 &e10级&c)!"
no-permission: "&c你没有权限挖掘钻石矿!"
cannot-afford: "&c你需要 &e50金币+1点券 &c才能挖掘!"
restore:
enabled: true
time: 120.00
commands:
- "console: say %player_name% 挖到了钻石!"
# ===== 示例3: 石头 (任何工具可挖, 给经验, 不恢复) =====
stone_example:
block-ids:
- "minecraft:stone"
- "STONE"
- "STONE:0"
# 不填写 tools -> 任何工具都是有效工具, 都会掉落物品, 使用 default-time
default-time: 1.00
drops:
- item: "vanilla:COBBLESTONE"
amount: "1_3" # 随机掉落 1~3 个圆石
chance: 100.0
rewards:
money: 10.0
points: 0
exp: 5
variables:
- "mining_count:1"
costs:
money: 0
points: 0
exp: 0
variables: []
messages:
success: "&a你挖掘了石头!"
broadcast: ""
wrong-tool: ""
condition-failed: ""
no-permission: ""
cannot-afford: ""
restore:
enabled: false
time: 0
感谢您对该插件的使用 !
[MD][](https://bstats.org/plugin/bukkit/LonelyBlock/32882)[/MD][MD]  [/MD]