[MD]
# HarryTollStation 插件简介
HarryTollStation 是一款专为 Minecraft 服务器设计的收费站管理插件,让服务器管理员能够轻松设置和管理收费站区域,实现多种收费模式,提升服务器经济系统和玩法体验。
## 核心功能
- **多样化收费模式**:支持物品收费(精确匹配(可直接复制物品nbt,理论上支持非原版物品)/模糊匹配)、点券收费(PlayerPoints)和经济收费(Vault),满足不同服务器的需求。
- **灵活区域管理**:通过简圈地工具用像WorldEdit一样的对角选区即可轻松划定收费站区域。支持区域创建、删除和重载操作。
- **智能冷却控制**:内置冷却时间机制,可自定义冷却时长和隐藏百分比,优化玩家通行体验。
- **人性化消息提示**:支持自定义提示消息,提供清晰的收费信息和冷却提示,提升玩家交互体验。
## 简单易用
- **简洁命令系统**:提供 `help`、`tool`、`create`、`remove`、`reload` 等核心命令,操作直观,上手难度低。
- **配置文件友好**:通过配置文件可轻松调整收费设置、圈地工具和冷却参数,无需复杂编程知识。
- **权限管理**:支持权限节点控制,服务器管理员可灵活分配管理权限,确保服务器安全运行。
[/MD]
命令信息(上图)
配置文件
命令信息(上图)
配置文件
YAML:
# HarryTollStation 主配置文件
defaults:
# 默认收费设置
charge:
mode: item # 收费模式: item/command/point/vault
item: DIAMOND # 收费物品(当mode=item时) 如果此项为%ANY%,则表示任意物品
amount: 1 # 收费数量
fuzzy-match: false # 是否启用模糊匹配
any-match: false # 若为ture,则满足lore或name任意一个条件即可算作匹配成功(支持fuzzy-match: true)
name: "" # 物品名称(精确匹配)或关键词列表(模糊匹配)
#模糊匹配示例
#name: []
lore: [] # 物品Lore关键词列表(模糊匹配时)
commands: [] # 要执行的命令列表(当mode=command时)
as-op: false # 是否以OP身份执行命令
on-fail: refuse # 收费失败处理: refuse/kick/kill
disable-refuse-effects: false # 若为true则关闭当defaults.on-fail为refuse时弹开玩家给予缓慢和失明效果的功能
cooldown: 300 # 冷却时间(秒)
# 圈地工具设置
selection-tool:
material: GOLDEN_HOE # 工具材质
name: "&6收费区域选择工具" # 工具显示名称
lore: # 工具描述
- "&7左键和右键点击方块来设置收费区域的两个顶点"
# 插件设置
settings:
debug: false # 调试模式
cooldown:
hide-percent: 15 # 冷却时间隐藏百分比
YAML:
# HarryTollStation 消息文件
# 消息前缀
prefix: "&e[收费站] &r"
# 冷却时间相关消息
cooldown-message: "%prefix%&a您已缴费,收费冷却中: 剩余 &e%time%秒\n%prefix%&a若要开启或隐藏该提示,请使用 &e/ts hidecooldown &r&a命令或单击 "
cooldown-hint: "&e[此处]"
cooldown-hidden: "%prefix%&7冷却提示已隐藏 (%time%秒)"
cooldown-shown: "%prefix%&7冷却提示已恢复显示"
cooldown-hidden-manual: "%prefix%&7已隐藏冷却提示"
# 通用消息
no-permission: "%prefix%&c你没有权限执行此命令!"
player-only: "%prefix%&c只有玩家才能执行此命令!"
config-reloaded: "%prefix%&a配置文件已重新加载!"
config-updated: "%prefix%&a配置已更新!"
config-update-failed: "%prefix%&c配置更新失败!"
# 工具相关
tool-name: "&6收费区域选择工具"
tool-lore: "&7左键和右键点击方块来设置收费区域的两个顶点"
tool-received: "%prefix%&a你已获得收费区域选择工具!"
position-set: "%prefix%&a已设置第%pos%个点!(%x% %y% %z%)"
selection-complete: "%prefix%&a选区完成! 点1: %pos1%, 点2: %pos2%, 体积: %volume% 方块"
no-selection: "%prefix%&c你还没有设置两个点来创建收费区域!"
different-worlds: "%prefix%&c两个位置必须在同一个世界!"
region-config-error: "%prefix%&c无法创建区域配置文件!"
# 区域创建相关
region-created: "%prefix%&a收费区域 '%name%' 已创建!"
create-failed: "%prefix%&c创建收费区域失败!"
create-usage: "%prefix%&c用法: /tollstation create <名称>"
region-exists: "%prefix%&c该名称的收费区域已存在!"
no-regions: "%prefix%&c没有已创建的收费区域!"
region-list-header: "%prefix%&6===== 收费区域列表 ====="
region-info: "%prefix%&e%name% &7- 世界: &f%world% &7- 点1: &f%pos1% &7- 点2: &f%pos2% &7- 体积: &f%volume%"
region-removed: "%prefix%&a收费区域 '%id%' 已移除!"
remove-failed: "%prefix%&c无法移除收费区域 '%id%'!"
remove-usage: "%prefix%&c用法: /tollstation remove <ID>"
# 收费相关
command-execute-failed: "%prefix%&c命令执行失败,无法进入区域!"
command-no-permission: "%prefix%&c你没有权限执行所需命令!"
charge-success: "%prefix%&a收费成功! 祝你旅途愉快!"
charge-failed: "%prefix%&c你没有足够的资源通过此收费区!"
default-kick-reason: "你没有足够的资源通过此区域"
# 帮助信息
help-messages:
- "&6===== HarryTollStation v%version% 帮助 ====="
- "&e/tollstation help &7- 显示帮助信息"
- "&e/tollstation tool &7- 获取圈地工具"
- "&e/tollstation create <名称> &7- 创建收费区域"
- "&e/tollstation list &7- 列出所有收费区域"
- "&e/tollstation remove <ID> &7- 删除收费区域"
- "&e/tollstation reload &7- 重载配置文件"
- "&e/tollstation set <文件> <项> <值> &7- 修改配置"
- "&e/tollstation hidecooldown <秒数> &7- 隐藏冷却提示"
- "&e别名: /ts"
help-line: "%line%"
# 配置验证错误消息
config-error: "%prefix%&cError:{%message%}"
config-help: "%prefix%&7使用 /ts help set 查看帮助"
# 配置验证错误消息键
config-unknown-charge-key: "未知收费配置项: %key%"
config-charge-mode-invalid: "收费模式必须是: %options%"
config-invalid-number: "无效的数值: %value%"
config-unknown-defaults-key: "未知默认配置项: %key%"
config-unknown-tool-key: "未知工具配置项: %key%"
config-boolean-invalid: "%name% 必须为 true 或 false"
config-value-must-positive: "%name% 必须 ≥ 0"
config-debug-level-invalid: "调试级别 必须在 1-3 之间"
config-invalid-material: "无效的物品类型: %material%"
config-value-empty: "值不能为空"
config-validation-exception: "验证异常: %message%"
# 坐标格式错误消息
invalid-coordinate-format: "无效的坐标格式,请使用 x,y,z 格式"
# 区域配置加载错误消息
region-config-load-failed: "加载区域配置失败: %name%"
config-update-failed-log: "更新配置失败: %filename%"
# 设置命令使用说明
set-usage: "%prefix%&c用法: /tollstation set <文件名> <配置项> <值>"
no-item-in-hand: "%prefix%&c手中没有物品!"
item-set-from-hand: "%prefix%&a已从手中物品设置收费物品! (已自动关闭模糊匹配)"
invalid-item-type: "%prefix%&c无效的物品类型!"
hand-item-empty: "%prefix%&c手中没有物品!"
# 其他消息
hidecooldown-usage: "%prefix%&c用法: /tollstation hidecooldown <秒数>"
invalid-number: "%prefix%&c无效的数字!"
# 日志
region-command-not-configured: "%prefix%&c区域 %name% 未配置任何命令"
region-command-execute-failed: "%prefix%&c命令执行失败: %command%"
region-command-exception: "%prefix%&c执行命令异常: %command% - %message%"
playerpoints-not-enabled: "%prefix%&cPlayerPoints 插件未启用,无法扣除点券"
vault-not-enabled: "%prefix%&cVault 插件未启用,无法扣除经济"
dir-create-failed: "%prefix%&c目录创建失败: %path%"
region-save-failed: "%prefix%&c保存区域配置失败: %name%"
region-config-incomplete: "%prefix%&c区域 %name% 配置不完整,跳过加载"
region-world-not-exist: "%prefix%&c区域 %name% 的世界 %world% 不存在,跳过加载"
config-init-exception: "%prefix%&c配置文件初始化异常"
region-config-save-failed: "%prefix%&c保存区域配置失败: %name%"
config-unvalidated: "%prefix%&c设置未经验证的配置项: %key% = %value%"
cache-dir-create-failed: "%prefix%&c缓存目录创建失败!"