MCDRpost

一个用于邮寄/传送物品的MCDR插件

工具

一键安装指令

!!MCDR plugin install mcdrpost

数据同步于

...

上次更新

...

最新版本

总下载量

10

返回插件仓库

MCDRpost

Original Author

Introduce

A MCDR plugin for post/teleport items
一个用于邮寄/传送物品的MCDR插件

-> MCDReforged <-

MCDRpost help

Dependencies

  • Python >= 3.10

  • MCDReforged >= 2.15.0

  • Minecraft Data API 任意版本

  • 开启 Minecraft Rcon

Important

请一定配置好 RCON!
请一定配置好 RCON!
请一定配置好 RCON!
重要的事情说三遍~

Install

将在 release 或 catalogue 下载的 .mcdr 插件文件放入插件目录下加载即可

Note

在MCDR中,可以直接使用

!!MCDR plg install mcdrpost
!!MCDR confirm

来安装 MCDRpost, 这也是推荐做法

Feature

使用该插件可以将副手的物品发送给别的玩家
也可以发送给离线玩家(但该玩家必须曾经进过服务器)
不可以发送给自己哦~

  • 玩家发出物品后,物品(订单)将会存放在【中转站】
  • 需要收件人收取订单才能收到物品,之后【中转站】会删除该订单
  • 还未查收的订单可以取消,物品会从【中转站】退回,并删除订单
  • 每人存放【中转站】的订单数有上限,以防止把邮件寄送作为储存箱等的滥用
  • 如果你要问为啥一定是用副手传送接收呢 ,因为
    • give 传到身上任意栏位,如果身上东西多的话,传回来还要找一下,比较麻烦,还不容易找到传回来的是哪个东西
    • 如果身上东西满了的话 give 是拿不到物品的,防止粗心大意的小天才
    • 该插件传送和接收前均会检查并提示副手物品,不用担心会直接 replace 掉原本副手的物品
    • 当然为什么不传送当前主手所持栏位进行传送呢? 因为懒2333

Usage

  • !!po 显示帮助信息
  • !!po p [收件人id] [备注] 将副手物品发送给[收件人],[备注]为可选项
  • !!po rl 列出收件列表。包括[发件人],[寄件时间],[备注消息]和[单号]
  • !!po r [单号] 确认收取该单号的物品到副手(收取前将副手清空)
  • !!po pl 列出发件(待收取)列表,包括[收件人],[寄件时间],[备注消息]和[单号]
  • !!po c [单号] 取消传送物品(收件人还未收件前),该单号物品退回到副手(取消前将副手清空)
  • !!po ls players 查看可被寄送的注册玩家列表
  • !!po ls orders 查看当前中转站内所有订单 [helper以上权限可用]
  • !!po player add [玩家id] 手动注册玩家到可寄送玩家列表 [admin以上权限可用]
  • !!po player remove [玩家id] 删除某注册的玩家 [admin以上权限可用]

上面命令中的r表示receivep表示postl表示listc表示cancel

Added in version 3.1.0: 支持命令的全写,例如!!post post Flyky full-name-support

Added in version 3.1.0: list 子命令新增 post receive,等同于 plrl

Configurations

MCDRpost的配置文件(限v3.0.0或以上)在 config/MCDRpost/config.yml 中 但是旧版本(2.1.1或以下)没有配置文件,请自行修改插件中的 mcdrpost/__init__.py

点击快速跳转

2.1.1 及以下

对于 2.1.1 及以下的版本,Flyky 并没有提供配置文件,想要配置需要编辑 mcdrpost/__init__.py 才能够修改

mcdrpost/__init__.py 文件中 Line 13~17,有以下五行代码

Prefix = '!!po'
MaxStorageNum = 5  # 最大存储订单量,设为-1则无限制
SaveDelay = 1
OrderJsonDirectory = './config/MCDRpost/'
OrderJsonFile = OrderJsonDirectory + 'PostOrders.json'

这些属性就是配置,含义见下表

属性类型默认值描述
Prefixstr'!!po'插件命令的前缀
MaxStorageNumint5每个玩家最大存储的订单数量,-1 不限制
SaveDelayint1新增 SaveDelay 个订单时保存一次
OrderJsonDirectorystr'./config/MCDRpost/'订单数据文件储存的文件夹
OrderJsonFilestr'./config/MCDRpost/PostOrders.json'订单数据文件的名称,应是一个 .json 文件

Note

Line 18 处的 command_item = -2 请别动,这是用来自动检测版本的

3.0.0 版本或以上

在 3.0.0 版本中, xieyuen 对插件进行了模块化重构,配置不再是写死在代码中,而是放到了配置文件 config.yml

下表是配置文件的内容

配置表

属性Python类型默认值描述
allow_aliasbooltrue是否允许别名
auto_fixboolfalse是否自动修复订单
auto_registerbooltrue是否自动为新玩家注册
max_storageint5订单最大存储量,设置为 -1 不限制
receive_tip_delayfloat3.0提示延迟
command_prefixeslist[str]['!!po', '!!post']命令根节点
command_permissiondict~权限表

Note

allow_alias 设定为 false 之后,command_prefixes 配置将会作废,锁定为 !!po
但是子命令的缩写(如 !!po ls)仍然有效

权限表

Note

MCDReforged的权限系统支持5种权限: owner, admin, helper, user, guest, 在设定权限的时候,用 0~4 五个数字代替权限等级, 其中 0 表示 owner1 表示 admin2 表示 helper3 表示 user4 表示 guest

属性默认权限描述
root0根命令的权限
post0发送邮件的权限(同时包括列出发件列表的权限)
receive0接收邮件的权限(同时包括列出收件列表的权限)
cancel0取消邮件的权限
list_orders2获得中转站全部订单信息的权限
list_players2获得全部已注册玩家的权限
player3player 子命令的权限

配置文件 demo

ATTENTIONS!!

  • 可能会有部分带有特殊复杂NBT标签的物品无法传送,会提示检测不到可传送的物品,所以尝试一下即可

Warning

切勿传送原版非法堆叠数的物品!!!
例如使用carpet地毯堆叠的空潜影盒,会导致该物品无法接收,永远卡死在中转站,只能手动修改数据文件删除

known issues

  • 不开启 RCON 的话,插件可能会有一定的延迟导致发送/接收失败

pics

po rl
po r
po p

自述文件来源:src/MCDRpost/README.md