简介
这是运行在 Nukkit 服务器上的一款地皮插件你可以用它创建一个由插件自动划分区域的世界,供玩家自由购买(或是通过权限组创造出更实用的用法)
用法
- 安装插件
- 将插件放入服务器 plugins 目录中,并重启服务器(不能通过 /reload 指令)
- 创建地皮世界
- 使用 /newland <世界名> [世界配置名] 创建一个新的地皮世界。其中,“世界配置名”可以在下文中寻找说明
- 玩家购买地皮
- 玩家在地皮世界中使用 /idleland 或直接使用 /idleland [世界名] 传送到未购买的地皮
- 玩家空手点击地皮边缘的购买方块,并确认购买
- 玩家传送地皮
- 玩家使用 /gotoland [id] 传送到地皮
世界配置
本插件支持自定义每个地皮世界的配置,如生成的方块ID,购买地皮的方块ID,地皮宽度等。- 创建配置
- 打开 “plugins/MoneySLand” 目录,找到 “generator_default.properties” 文件
- 将该文件复制到 “generator_settings” 中
- 修改复制的文件的名字,修改后的名字就是创建地皮指令中所需要的 “世界配置名”
- 修改设置,并使用UTF8编码保存
- 不需要重启服务器,你现在就可以使用这个配置创建地皮世界了
- 修改配置
暂不支持修改已创建的地皮世界的配置
指令
所有指令均可在 "config.yml" 中修改此表中 "权限" 不包含父权限.
指令名 | 参数 | 说明 | 权限 |
---|---|---|---|
generateland | [settings_filename] | 创建地皮世界 | money.command.sland.generateland |
gotoland | | 传送到任意ID的地皮 | money.command.sland.gotoland |
idleland | [level] | 传送到一个未被购买的地皮 | money.command.sland.idleland |
landid | | 查看所在位置的地皮的ID | money.command.sland.landid |
sellland | [id] | 出售所在的地皮或指定ID的地皮 | money.command.sland.sellland; money.command.sland.sellland.others |
clearland | [id] | 将所在的地皮或指定ID的地皮清空 并还原到初始状态 | money.command.sland.clearland; money.command.sland.clearland.others |
myland | [player] | 查看自己或他人已拥有的地皮列表 | money.command.sland.myland; money.command.sland.myland.others |
landinvitee | list [地皮ID] 或 <add|remove> <地皮ID> <玩家名> | 管理自己或他人的地皮分享者 | 过多, 请在附表中查看 |
landinvitee 权限 |
---|
money.command.sland |
money.command.sland.landinvitee |
money.command.sland.landinvitee.lis |
money.command.sland.landinvitee.list.others |
money.command.sland.landinvitee.add |
money.command.sland.landinvitee.add.others |
money.command.sland.landinvitee.remove |
money.command.sland.landinvitee.remove.others |
权限
你可以通过修改玩家拥有的权限,来实现自定义特权等特性指令权限
权限名 | 说明 | 默认拥有者 |
---|---|---|
money.command.sland | 所有指令的权限的父权限 | 管理员(包括控制台) |
money.command.sland.generateland | 创建地皮世界 | 管理员(包括控制台) |
money.command.sland.gotoland | 传送到任意ID的地皮 | 所有玩家 |
money.command.sland.idleland | 传送到未被购买的地皮 | 所有玩家 |
money.command.sland.lanid | 查看所在位置的地皮ID | 所有玩家 |
money.command.sland.sellland | 出售所在的地皮或指定ID的地皮 | 所有玩家 |
money.command.sland.sellland.others | 出售任意ID的地皮 | 管理员(包括控制台) |
money.command.sland.clearland | 将自己已拥有的地皮清空并还原到初始状态 | 所有玩家 |
money.command.sland.clearland.others | 将任意ID的地皮清空并还原到初始状态 | 管理员(包括控制台) |
money.command.sland.myland | 查看自己已拥有的地皮列表 | 所有玩家 |
money.command.sland.myland.others | 查看任意一名玩家已拥有的地皮 | 管理员(包括控制台) |
money.command.sland.landinvitee | 管理自己地皮分享者 | 所有玩家 |
money.command.sland.landinvitee.others | 管理他人的地皮分享者 | 管理员(包括控制台) |
权限名 | 说明 | 默认拥有者 |
---|---|---|
money.permission.sland | 所有操作权限的父权限 | 管理员(包括控制台) |
money.permission.sland.modify | modify.* 的父权限 | 管理员(包括控制台) |
money.permission.sland.modify.interact | 在自己没有权限的地皮上点击方块 | 管理员 |
money.permission.sland.modify.interact.{LandId} | 在ID为{LandId}的地皮上点击方块 | 管理员 |
money.permission.sland.modify.place | 在自己没有权限的地皮上放置方块 | 管理员 |
money.permission.sland.modify.place.{LandId} | 在ID为{LandId}的地皮上放置方块 | 管理员 |
money.permission.sland.modify.break | 在自己没有权限的地皮上拆除方块 | 管理员 |
money.permission.sland.modify.break.{LandId} | 在ID为{LandId}的地皮上拆除方块 | 管理员 |
money.permission.sland.breakshop | breakshop.* 的父权限 | 无 |
money.permission.sland.breakshop.{Level} | 破坏名字为{Level}的地皮世界的购买方块 | 无 |
money.permission.sland.interactaisle | interactaisle.* 的父权限 | 无 |
money.permission.sland.interactaisle.{Level} | 点击或破坏名字为{Level}的地皮世界的过道方块 | 无 |
money.permission.sland.berakframe | berakframe.* 的父权限 | 无 |
money.permission.sland.berakframe.{Level} | 破坏名字为{Level}的地皮世界的边框方块 | 无 |
money.permission.sland.buy | 在所有地皮世界购买地皮 | 所有玩家 |
money.permission.sland.buy.{LandId} | 在某地皮世界购买地皮 | 无 |
YAML:
# MoneySLand config
# 地皮配置文件
# 语言类型, 请勿随意改动
# Language type, DO NOT modify if unnecessary
language: "chs"
# 保存数据计时器的频率
# 单位 ticks (1s = 20ticks)
# Period for data saving task
# Unit is ticks (1s = 20ticks)
save-tiks: 1200
# 生成地皮的指令
# 填写 "" 禁用指令.
# Command for generating a new land level
# Sets "" to disable this command
generateland-command: "newland"
# 传送到地皮的指令
# 填写 "" 禁用指令.
# Command for going to a land which is owned by oneself
# Sets "" to disable this command
gotoland-command: "gotoland"
# 传送到空闲地皮(没被购买的地皮)的指令
# 填写 "" 禁用指令.
# Command for teleporting to an idle land(which is not owned)
# Sets "" to disable this command
idleland-command: "idleland"
# 查看所在位置的地皮的 ID 的指令
# 填写 "" 禁用指令.
# Command for querying land id around player
# Sets "" to disable this command
landid-command: "landid"
# 出售所在的地皮或指定ID的地皮的指令
# 填写 "" 禁用指令.
# Command for selling land
# Sets "" to disable this command
sellland-command: "sellland"
# 将自己已拥有的地皮清空并还原到初始状态的指令
# 填写 "" 禁用指令.
# Command for clearing land and regenerate land which player owned
# Sets "" to disable this command
clearland-command: "clearland"
# 查看自己已拥有的地皮列表的指令
# 填写 "" 禁用指令.
# Command for querying lands which player owned
# Sets "" to disable this command
myland-command: "myland"
# 分享地皮给其他玩家的指令
# 填写 "" 禁用指令.
# Command for sharing lands with other players
# Sets "" to disable this command
landinvitee-command: "landinvitee"
Markdown (GitHub flavored):
# MoneySLand 地皮世界生成器配置,生成世界后禁止改动地皮长宽高
#
# 使用的货币类型, 可设置为 1 或 2, 分别对应货币 1 和货币 2
type=1
# 购买时每平方格价格 (总价格 = 地皮面积 x 每平方格价格)
price=100
# 回收时每平方格价格 (总价格 = 地皮面积 x 每平方格价格)
sellingPrice=50
# 总宽度, 将间接决定地皮的大小
# 地皮大小 = 总宽度 - 2x过道宽度 - 2x边框宽度
# 地皮面积 = 地皮大小 x 地皮大小
# 当地皮大小小于0时, 地皮世界所有方块都会变为空气
totalWidth=34
# 地面高度
groundHeight=48
# 过道(两块地皮之间的方块的一半)宽度
aisleBlockWidth=2
# 边框(每一块地皮的边框)宽度
frameBlockWidth=1
# 填充地下方块 ID
fillBlock=3
# 最底层(y=0)方块
lastBlock=7
# 边框方块
frameBlock=43
# 过道方块
aisleBlock=5:2
# 边框顶层方块
frameTopBlock=44
# 地表方块
groundBlock=2
# 购买地皮方块
shopBlock=246
开源
GitHub - zixuan2020/MoneySLand: A Nukkit version of the plot plugin
A Nukkit version of the plot plugin. Contribute to zixuan2020/MoneySLand development by creating an account on GitHub.
作者
原创BUG修复