结冰的离季
本帖最后由 结冰的离季 于 2021-2-14 20:53 编辑

介绍


这是一款以书本为载体的邮箱系统。


目前功能





使用详解

要发送一封邮件,载体为成书,成书的作者发送玩家标题邮件标题  

拿着书与笔成书可以预览内容
一、类MarkDown语法                                                         
二、 玩家                                                                         

三、管理员                                                                           
部分难懂的例子:                                                                                
配置

无权限

后续内容添加中……

P.S. 此插件是我边学边写的,技术不太成熟,如有编程大佬欢迎指教
P.S. 如有bug请第一时间汇报,有什么建议也可以说出来,我会视情况添加
已知问题


下载
依赖 NBTAPI 必须装
原贴:https://www.spigotmc.org/resources/nbt-api.7939/

无偿捐赠

本插件所用所有代码均为原创开源于GitHub,不存在借用/抄袭等行为
本插件为非盈利性插件,免费发布,严禁销售和转卖









2021.12 数据,可能有更多内容介绍


这是一款以书本为载体的邮箱系统。


目前功能


1. 书内类markdown语法与简便格式化代码   





2. 群发功能      
   指定n个人 、所有在线玩家、所有离线玩家、所有注册玩家新注册的玩家
指定时间内登录过的玩家发送系统邮件。   


3. 定时发送功能   
   一次性定时自动发送 与 周期性定时发送定时发送兼容群发功能
4. 书内管理界面   
   例如:玩家邮箱   



5. 物品包裹(支持nbt物品)   
   支持限制玩家物品堆数量(包括潜影盒里的也算)   
6. 指定物品打开邮箱 
   可选设置一个物品,主手拿着物品右键空气以打开自己的邮箱。





使用详解
要发送一封邮件,载体为成书,成书的作者发送玩家标题邮件标题
拿着书与笔成书可以预览内容一、类MarkDown语法    显示文字:显示原始JSON文本对象。
{文字}(显示的文字)
打开链接 :打开链接 悬浮显示网址 
[文字](链接)运行命令: 以当前身份运行命令   [文字][命令]点击复制: 复制到剪贴板    [文字]{复制的内容}包裹   (领取包裹){包裹id}&样式代码  &=§二、 玩家    

代码:

  1. /bookmail open 打开邮箱 或者主手拿邮箱物品右键空气
  2. /bookmail package 查看包裹相关操作
  3. /bookmail send 玩家ID 将手上的成书作为邮件发送给某个玩家
  4. /bookmail translate 预览手上的成书或者书与笔转化为邮件的效果(包裹不可领)

三、管理员    建议在使用前先把所有命令详解看一看,如果是途中添加插件的服务器,可以输入/bookmail system createMailboxes online 来注册服里在线的玩家(注册邮箱)   
插件运行之后 会自动为新登录的且没有邮箱的玩家创建邮箱   

代码:

  1. /bookmail 查看所有可用指令
  2. /bookmail package 查看查看包裹相关操作
  3. /bookmail sendGroup 查看群发相关操作
  4. /bookmail sendGroup loginTime 查看群发登录时间详解
  5. /bookmail sendGroup sendOnTime 查看定时发送功能详解
  6. /bookmail system 查看系统功能详解
P.S.指定n个玩家 /bookmail send 玩家A 玩家B 玩家C...   P.S. 一天时间从00:00:00 开始 23:59:59 结束部分难懂的例子:  想要指定时间段内登录过的玩家发送邮件:  /bookmail sendGroup loginTime 参数1 参数2   
参数可以是xs xm xh xd 表示xx 分钟 x小时 x 天    可以单个也可以任意组合(不能有空格)  最后的时间点将会是当前时间 减去 所有参数表示的时间。   
也可以是具体时间点 yyyy-MM-dd-HH:mm:ss   例如: 2021-08-10-10:23:08 不会有人看不懂吧?      参数2 没有的话就是当前时间    最后将会抽取在2个时间点之间登录的玩家发送邮件(顺序任意)   
想要每天18:00:00 发送邮件   /bookmail sendOnTime period day:1+18:00:00 online   /bookmail sendOnTime 参数1 参数2+时间 发送类型   
类型
参数1
参数2
时间
发送类型
一次
once
yyyy-MM-dd HH:mm:ss 或 1d /5m1d
与群发相同
每x天
period
day:x
HH:mm:ss
与群发相同
每x月
period
month:x
dd-HH:mm:ss
与群发相同

​    发送类型不包括 新注册玩家(new) 登录时间的参数为loginTime[参数1,参数2]配置

代码:

  1. #此项通过指令/BookMail system setMailBox 更改 设为空 则只能通过指令打开
  2. 邮箱物品:
  3. # true(是) or false(否)
  4. 玩家是否可以发邮件: true
  5. # true(是) or false(否)
  6. 玩家是否可以发送包裹: true
  7. #包括潜影盒内物品
  8. 玩家包裹最大物品数: 54
  9. 玩家最大包裹数: 3
  10. # 创建包裹的考虑时间,单位分钟
  11. 临时包裹时间: 3

无权限
后续内容添加中……
P.S. 此插件是我边学边写的,技术不太成熟,如有编程大佬欢迎指教P.S. 如有bug请第一时间汇报,有什么建议也可以说出来,我会视情况添加已知问题
由于mc书本的显示问题,不同字体(甚至不同字符)的像素宽度不一样,mc是根据像素来换行的,故而修改字体可能会导致排版错乱。

下载GitHub(开源/实时更新): https://github.com/Iseason2000/BookMail/releases
蓝奏(不定时更新):https://iseason.lanzous.com/b00oatjmf    密码:2z78依赖 NBTAPI 必须装原贴:https://www.spigotmc.org/resources/nbt-api.7939/
无偿捐赠
本插件所用所有代码均为原创开源于GitHub,不存在借用/抄袭等行为本插件为非盈利性插件,免费发布,严禁销售和转卖



no1127
tql

莫零ya
希望作者可以支持一下1.12版本的使用

结冰的离季
莫零ya 发表于 2021-2-14 22:09
希望作者可以支持一下1.12版本的使用

以后会的预计以后可以到1.8

宸艾
作者还在更新这个插件吗?

结冰的离季
宸艾 发表于 2021-6-30 15:39
作者还在更新这个插件吗?

写着玩的,只修复重大bug

loolksama
这么厉害!

励志长久开服
大佬请教一下如何在1.12.2Bukkit端用指令打开一本书与笔

ItemStack book = new ItemStack(Material.WRITTEN_BOOK);
        BookMeta bookMeta = (BookMeta) book.getItemMeta();
        bookMeta.addPage("这是第一页的内容\n第一页第二行", "这是第二页的内容\n第二页第二行");
        bookMeta.setAuthor("作者名字");
        bookMeta.setTitle("书的标题");
        book.setItemMeta(bookMeta);

这是查到的书与笔方法,但我无法打开这本书

我愿意有偿!!!

结冰的离季
励志长久开服 发表于 2021-12-14 19:28
大佬请教一下如何在1.12.2Bukkit端用指令打开一本书与笔

ItemStack book = new ItemStack(Material.WRITTE ...
  1. public static void openBook(ItemStack book, Player p) { //使玩家打开某本书(署名的)
  2.         int slot = p.getInventory().getHeldItemSlot();
  3.         ItemStack old = p.getInventory().getItem(slot);
  4.         p.getInventory().setItem(slot, book);
  5.         ProtocolManager pm = ProtocolLibrary.getProtocolManager();
  6.         PacketContainer pc = pm.createPacket(PacketType.Play.Server.OPEN_BOOK);
  7.         try {
  8.             pm.sendServerPacket(p, pc);
  9.         } catch (InvocationTargetException e) {
  10.             e.printStackTrace();
  11.         }
  12.         p.getInventory().setItem(slot, old);
  13.     }
复制代码

需要ProtocolLib

励志长久开服

谢谢大佬!
不过我的网络似乎出了问题不能导入

励志长久开服

大佬方便交换一下**或QQ吗?

清龙风
感谢分享

老麦块ing
做的很棒了这个,一直想找一个有gui的邮箱,这个的包裹就是附件吗,大佬

结冰的离季
老麦块ing 发表于 2022-1-24 09:34
做的很棒了这个,一直想找一个有gui的邮箱,这个的包裹就是附件吗,大佬

对,但是这个插件我已经很久没更新了,请三思

老麦块ing
结冰的离季 发表于 2022-1-24 13:09
对,但是这个插件我已经很久没更新了,请三思

好的好的,我试一试!!

Gyzer
辛苦你了!