- 版权类型
- 二次开发
- 插件中文名称
- 经典广告牌
- 插件英文名称
- Billboards
- 支持的核心(服务端)
- Spigot
- Paper
- Purpur
- 语言支持
- 中文(简体)
- 前置组件
- Vault:https://www.minebbs.com/resources/7869/
ProtocolLib:https://www.minebbs.com/resources/7400/
PlaceholderAPI (可选):https://www.spigotmc.org/resources/6245/
- 适配版本(Java)
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
[MD]
# Billboards
经典广告牌插件重制版
开源地址:https://github.com/MrXiaoM/Billboards
此插件允许玩家在主城购买带有时限的广告牌,并编辑牌子内容,可设置其它玩家点击牌子后执行指定命令。
命令储存在配置文件中,玩家只能自定义命令中的一个参数,比如传送到领地的命令,只允许玩家自定义领地名参数。
## 比起原版 Billboards
+ 对开发者贡献代码更友好
+ 不需要手持牌子来右键编辑广告牌了,用 ProtocolLib 发包来省掉了这一步
+ 可以用权限来控制广告牌中颜色代码的使用
+ 增加牌子编辑GUI
+ 增加“点击牌子执行命令”功能,在配置文件中的 `items.action.command` 配置命令格式,命令格式中的 `%s` 将被替换为玩家在广告牌编辑界面设置的命令内容。比如默认的 `res tp %s` 能让玩家设置**点击牌子传送到领地**
## 命令
* `/billboard [<价格> <时长天数>] [创建者]` - 创建一个可租用的牌子,命令中的参数均为可选,不输入则使用配置文件中设定的值
* `/billboard reload` - 重载配置文件
## 权限
| 权限 | 详细说明 | 默认 |
|------------------------|---------------------------------------------------------|---------|
| billboards.admin | 是否能新建或删除广告牌 | op |
| billboards.sign.color | 是否能在广告牌上使用颜色代码 (§ 0-9, a-f) | 无 |
| billboards.sign.format | 是否能在广告牌上使用格式代码 (§ lmnor) | 无 |
| billboards.sign.magic | 是否能在广告牌上使用乱码代码 (§k) | 无 |
| billboards.rent | 是否能租用并编辑广告牌 | 有 |
由于玩家创建广告牌的功能原插件没做好,我也懒得写反正我用不到,所以就不在这里给出了。
## 汉化
重制版中,我没有将中文设为默认语言,所以,安装插件后,你依然需要替换语言文件来汉化插件。
牌子编辑界面的文字在 config.yml 里面。
[/MD]
(下一个版本 config.yml 将移除界面设置,移到 gui.yml)
# Billboards
经典广告牌插件重制版
开源地址:https://github.com/MrXiaoM/Billboards
此插件允许玩家在主城购买带有时限的广告牌,并编辑牌子内容,可设置其它玩家点击牌子后执行指定命令。
命令储存在配置文件中,玩家只能自定义命令中的一个参数,比如传送到领地的命令,只允许玩家自定义领地名参数。
## 比起原版 Billboards
+ 对开发者贡献代码更友好
+ 不需要手持牌子来右键编辑广告牌了,用 ProtocolLib 发包来省掉了这一步
+ 可以用权限来控制广告牌中颜色代码的使用
+ 增加牌子编辑GUI
+ 增加“点击牌子执行命令”功能,在配置文件中的 `items.action.command` 配置命令格式,命令格式中的 `%s` 将被替换为玩家在广告牌编辑界面设置的命令内容。比如默认的 `res tp %s` 能让玩家设置**点击牌子传送到领地**
## 命令
* `/billboard [<价格> <时长天数>] [创建者]` - 创建一个可租用的牌子,命令中的参数均为可选,不输入则使用配置文件中设定的值
* `/billboard reload` - 重载配置文件
## 权限
| 权限 | 详细说明 | 默认 |
|------------------------|---------------------------------------------------------|---------|
| billboards.admin | 是否能新建或删除广告牌 | op |
| billboards.sign.color | 是否能在广告牌上使用颜色代码 (§ 0-9, a-f) | 无 |
| billboards.sign.format | 是否能在广告牌上使用格式代码 (§ lmnor) | 无 |
| billboards.sign.magic | 是否能在广告牌上使用乱码代码 (§k) | 无 |
| billboards.rent | 是否能租用并编辑广告牌 | 有 |
由于玩家创建广告牌的功能原插件没做好,我也懒得写反正我用不到,所以就不在这里给出了。
## 汉化
重制版中,我没有将中文设为默认语言,所以,安装插件后,你依然需要替换语言文件来汉化插件。
牌子编辑界面的文字在 config.yml 里面。
[/MD]
(下一个版本 config.yml 将移除界面设置,移到 gui.yml)
YAML:
title: '编辑广告牌'
inventory:
- 'OOOOOOOOO'
- 'OCE O'
- 'OOOOOOOOO'
# 主要图标
# 不要更改图标键(C、E 等)
items:
C:
material: ARROW
display: '&e&l编辑点击事件'
lore:
- ''
- '&f 编辑玩家点击广告牌时 '
- '&f 传送到的领地. '
- '&f 当前: &e%arg%'
- ''
action:
# 玩家点击广告牌时,将以玩家身份执行 /res tp %s
# console: 开头代表以控制台权限执行
# player: 开头代表以玩家权限执行
# 命令中支持 PAPI,先替换参数后替换 PAPI,所以下面的正则不要给到 % 符号避免玩家乱用
command: 'player:res tp %s'
# 领地名 (包括子领地) 的正则表达式
command-arg-regex: '^[A-Za-z0-9\\u4e00-\\u9fa5\\-_.]+'
E:
material: OAK_SIGN
display: '&e&l编辑牌子内容'
lore:
- ''
- '&f 编辑广告牌上的文字. '
- ''
other-items:
O:
material: BLACK_STAINED_GLASS_PANE
custom-model: 10000
display: '&0'
F:
material: STONE
# 可选,显示附魔光泽
glow: true
# 可选,设置 CustomModelData 值
custom-model: 10000
# 可选,物品显示名
display: '示例图标'
# 可选
lore:
- '这是一个完整示例.'
- '我们将向你展示所有可在图标使用的特性.'
# 可选,玩家点击该图标时执行的操作.
# 格式为 [类型]参数,以下为一些可用的格式
# [console] 执行控制台命令
# [player] 执行玩家命令
# [message] 聊天框输出消息
# 以上操作均有 PlaceholderAPI 支持
left-click-commands: []
right-click-commands: []
shift-left-click-commands: []
shift-right-click-commands: []
drop-commands:
- '[console]dm open cd_main %player_name%'
- '[player]spawn'
- '[message]Ciallo~(∠・ω< )⌒★'
YAML:
UNKNOWN_NAME:
Text: 未知
Notes: 未知玩家名时显示的值
UNKNOWN_UUID:
Text: '-'
Notes: 未知UUID时显示的值
SERVER_OWNER_NAME:
Text: '*系统*'
Notes: 创建者为系统时显示的值
YOU_HAVE_TO_SNEAK:
Text: '&7你需要按住 Shift 来移除广告牌.'
SIGN_REMOVED:
Text: '&a广告牌已移除.'
ADDED_SIGN:
Text: '&a这个广告牌已成功创建! 创建者: &7{2} &a, &b{0} 金币 &a价格租用 &b{1} 天&a.'
Notes: '0: 价格 1: 租用时间(天) 2: 创建者名字 3: 创建者 uuid'
ALREADY_BILLBOARD_SIGN:
Text: '&7这个牌子已经是广告牌了.'
NO_TARGETED_SIGN:
Text: '&7你必须要用准星指向一个牌子.'
ONLY_AS_PLAYER:
Text: 控制台无法使用该命令.
INFO_HEADER:
Text: '&b广告牌 &7- &f详细信息'
INFO_CREATOR:
Text: '&7|- &f创建者: &e{0}'
Notes: '0: 创建者名字 1: 创建者 uuid'
INFO_OWNER:
Text: '&7|- &f租用者: &e{0}'
Notes: '0: 租用者名字 1: 租用者 uuid'
INFO_PRICE:
Text: '&7|- &f价格: &e{0} 金币'
Notes: '0: 价格'
INFO_DURATION:
Text: '&7|- &f租用时间: &e{0} 天'
Notes: '0: 租用时间(天)'
INFO_RENT_SINCE:
Text: '&7|- &f从 &e{0} &f起开始租用'
Notes: '0: 租用开始日期'
INFO_RENT_UNTIL:
Text: '&7|- &f在 &e{0} &f租用到期'
Notes: '0: 租用结束日期'
INFO_TIME_LEFT:
Text: '&7|- &f剩余时间: &e{0}'
Notes: '0: 租用剩余时间'
CLICK_TO_RENT:
Text: '&b&lBillboards &7>> &f再次点击牌子, 从 &e{2} &f租用, 租用价格为 &e{0}&f, 租期为 &e{1} &f天.'
Notes: '0: 价格 1: 租用时间(天) 2: 租用者名字 3: 租用者 uuid'
YOU_HAVE_RENT_A_SIGN:
Text: "&b&lBillboards &7>> &a你成功从 &7{2} 租用了这块广告牌! 租期为 &b{1} 天&a. \n&e要编辑广告牌, 请 &fShift+右键 &e点击你的牌子."
Notes: '0: 价格 1: 租用时间(天) 2: 创建者名字 3: 创建者 uuid 4: 租用者名字 5: 租用者 uuid'
TRANSACTION_FAILURE:
Text: '&c错误: &6{0}'
Notes: '0: 错误信息'
NO_LONGER_AVAILABLE:
Text: '&b&lBillboards &7>> &c这个广告牌已到期!'
NOT_ENOUGH_MONEY:
Text: "&b&lBillboards &7>> &c你没有足够的金钱! \n&c你需要 &e{0} 金币&c来租用广告牌, 但你只有 &e{1} 金币&c!"
Notes: '0: 价格 1: 玩家金钱数量'
MAX_RENT_LIMIT_REACHED:
Text: '&b&lBillboards &7>> &c你已经不能再拥有更多的广告牌了 &7(限制: &6{0}&7)&c!'
Notes: '0: 限制次数'
CANT_RENT_OWN_SIGN:
Text: '&b&lBillboards &7>> &c你不能租用自己的牌子.'
NO_PERMISSION:
Text: '&b&lBillboards &7>> &c你没有执行该操作的权限.'
PLAYER_NOT_FOUND:
Text: '&b&lBillboards &7>> &c无法找到玩家 &6{0}'
Notes: '0: 玩家名字'
SIGN_LINE_1:
Text: '&b广告牌'
Notes: '0: 价格 1: 租用时间(天) 2: 创建者 3: 创建者 uuid'
SIGN_LINE_2:
Text: '&f(右键租用!)'
Notes: '0: 价格 1: 租用时间(天) 2: 创建者 3: 创建者 uuid'
SIGN_LINE_3:
Text: '&0{0} 金币'
Notes: '0: 价格 1: 租用时间(天) 2: 创建者 3: 创建者 uuid'
SIGN_LINE_4:
Text: '&0租用 {1} 天'
Notes: '0: 价格 1: 租用时间(天) 2: 创建者 3: 创建者 uuid'
DATE_FORMAT:
Text: yyyy/MM/dd HH:mm:ss
Notes: 日期格式
TIME_REMAINING_FORMAT:
Text: '%d 天 %d 时 %d 分'
Notes: 剩余时间格式
INVALID_NUMBER:
Text: '&c无效的数字: &6{0}'
Notes: '0: 无效的参数'
RENT_SIGN_LINE_1:
Text: '&a租用者'
Notes: '0: 价格 1: 租用时间(天) 2: 创建者 3: 创建者 uuid 4: 租用者 5: 租用者 uuid'
RENT_SIGN_LINE_2:
Text: '&f{4}'
Notes: '0: 价格 1: 租用时间(天) 2: 创建者 3: 创建者 uuid 4: 租用者 5: 租用者 uuid'
RENT_SIGN_LINE_3:
Text: '&cShift+右键'
Notes: '0: 价格 1: 租用时间(天) 2: 创建者 3: 创建者 uuid 4: 租用者 5: 租用者 uuid'
RENT_SIGN_LINE_4:
Text: '&c编辑广告牌'
Notes: '0: 价格 1: 租用时间(天) 2: 创建者 3: 创建者 uuid 4: 租用者 5: 租用者 uuid'
RELOADED:
Text: '&b&lBillboards &7>> &a配置文件和语言已重载'
PROMPT_START:
Text: '&7[&b广告牌&7] &e请在聊天栏发送领地名. 发送 &f#cancel &e代表取消该操作'
PROMPT_FAILED:
Text: '&7[&b广告牌&7] &e你输入的领地名无效, 请重新发送'
Notes: '0: 玩家名 1: 玩家输入的参数'
PROMPT_SUCCESS:
Text: '&7[&b广告牌&7] &a你已成功设置广告牌点击操作'
Notes: '0: 玩家名 1: 玩家输入的参数'
PROMPT_CANCELLED:
Text: '&7[&b广告牌&7] &f参数补全已取消'
Notes: '0: 玩家名'