小钢炮君
本帖最后由 小钢炮君 于 2023-5-24 21:46 编辑
XgpLottery

插件简介
这是一款提供了抽奖功能的插件,理论支持1.7.10 ~ 1.19.2。 其他版本请自测  ~已测试版本: 1.7.10  1.8.8  1.12.2 1.13.2 1.16.5 1.17.2 1.18.2 1.19.2特点:  支持物品NBT。GUI操作。拥有实体箱子和奖券以及使用命令的抽奖方式。可以设置保底数和保底物品。拥有自带的商店,玩家可以直接使用金币/点券购买。可向玩家公布概率。支持占位符可选择不同的抽奖动画。

前置插件
非必要前置:PlaceholderAPI 占位符插件MCBBS: PlaceholderAPI  -  (mcbbs.net)  SpigotMC: PlaceholderAPI | SpigotMC - High Performance MinecraftParticleLib 一款粒子特效库MCBBS: ParticleLib | (mcbbs.net)PlayerPoints  一款经典的点券插件MCBBS:PlayerPoints | (mcbbs.net)SpigotMC:PlayerPoints | SpigotMC - High Performance MinecraftVault  常用的经济APIMCBBS:Vault |  (mcbbs.net)SpigotMC:Vault | SpigotMC - High Performance Minecraft
配置文件


名称描述showProbability是否向玩家展示概率。enableParticle是否在抽奖箱上显示粒子特效,如启用则需要安装ParticleLib前置,否则无效。shop是否启用抽奖商店,如果为false则玩家无法打开商店页面。giveLottery商店是否给与玩家物品,如果为false则玩家购买后直接进行抽奖。giveKey当giveLottery为true时,此处为true则给与玩家一个抽奖箱钥匙,为false则给与玩家奖券。autoSaveTime自动保存数据的时间,具体为玩家抽奖次数的相关数据,单位为秒。autoUpdateTopTime排行榜数据的更新时间,单位为秒。broadcast当玩家抽到保底物品是否播报
插件权限
权限节点描述xgplottery.manager管理权限,默认op拥有。xgplottery.shop打开商店的权限,默认玩家拥有。xgplottery.show使用命令查看奖池预览的权限,默认玩家拥有。

插件命令你可以使用/xl /lottery 来代替/xgplottery  当缩写命令冲突时请以压缩包打开插件把 plugin.yml的 - "xl" 或者 - "lottery" 删除。具体使用可使用/xgplottery help来获取相关帮助

使用教程
此处需要你安装完成插件后观看。其实很多都是gui操作,也没有什么很难的地方:p创建奖池

使用/xl menu打开管理菜单点击管理菜单中的创建奖池输入奖池名称,此处我创建了一个名为233的奖池随后获得了这样一个默认的奖池。相关配置
保底次数和价格,可以通过shift+左键或shift+右键设置。打开奖池可以看到其他的操作。添加物品的方式, 你可以通过拿起物品点击铁砧直接放入,也可以拿着物品使用/xl add 奖池名称 来加入奖池。请注意,奖池上限为45种物品。同样的,你可以通过右键来编辑保底物品,当然,保底物品也可以拥有45个。所以你可以把保底物品放置3-4个 并设置保底物品的相对权重便可以控制玩家抽到保底的时候是否会”歪“ 。(谁在抽卡游戏设计的这个, 该死!)
设置抽奖箱
在地上放置一个方块,使用/xl box create 233  后左键点击方块,创建一个抽奖箱。此处粒子特效需要安装ParticleLib 当然如果你认为这个会导致卡顿你也可以选择不添加,并在配置文件中把enableParticle设置为falseshift+右键可以预览奖池物品。获得钥匙、奖券
你可以使用/xl give 相关命令来获得一个默认的抽奖券。也可以通过/xl get 相关命令使手中物品设置为抽奖券。具体使用方式请使用/xl help查看。奖品计算原理
请注意,当你把保底数设置为0时,玩家无论如何也不会抽到保底物品。当未启用保底机制则玩家会随机抽到物品池的物品。启用保底机制后,玩家当前抽奖次数未达保底次数时,玩家会随机从普通物品+保底物品里获得一件物品,当玩家获得保底物品的时候则会清空当前抽奖次数。当玩家抽奖次数到达保底次数。 则会只从保底池子中随机获得一件物品。设置抽奖动画
在奖池内容中,shift+右键点击切换物品选择动画。所有动画都可以直接关闭跳过动画,然后物品滚动动画

物品从右往左滚动,最后停在奖品上面。
物品选择动画
玩家点击一块儿翻开变成奖品, 其余的在2秒后全部翻开,(都是假滴) 10秒不翻开则自动翻开一块。


占位符/变量

要使用以下占位符,你需要安装 PlaceholderAPI  插件并安装player相关依赖/papi ecloud download player
%XgpLottery_playerName%  玩家的总抽奖次数%XgpLottery_max_lotteryName%  奖池的保底需要的次数%XgpLottery_value_lotteryName%  奖池售价%XgpLottery_playerName_lotteryName%  该奖池某个玩家的抽奖总数%XgpLottery_top_rank_name%  总抽奖次数排行榜的第rank名的玩家姓名%XgpLottery_top_rank_amount%  同上,为抽奖次数%XgpLottery_player_lotteryName_current%  玩家在该奖池中未获得保底的抽奖次数%XgpLottery_top_lotteryName_rank_name%  指定奖池抽奖次数第rank名的玩家姓名 %XgpLottery_top_lotteryName_rank_amount%  同上,为抽奖次数

注: 此处playerName为玩家id 为指定玩家的数据,替换为this 例如%XgpLottery_this%  则是当前玩家的抽奖总数。lotteryName则是指定奖池的奖池名。    rank为排行的名次。
有人要问了~ 那么这些东西有什么用呢?你可以配合着HolographicDisplays插件,又或者是其他全息显示插件,在抽奖箱上方创建如图所示的信息。又或者是一个奖池的排行榜。具体怎么用则靠你自己去设计了!(不太善于设计这些 ,手动狗头)
仅供参考:

每一行的字符串
  - ICON:diamond
  - '&e&l奖池: {rainbow}123'
  - '&6&l&m---------------'
  - '&e欢迎: &b{player}'
  - '&e您在本奖池抽奖次数:&b%XgpLottery_this_123%'
  - '&e保底次数:&n&b%XgpLottery_max_123%&r &e已垫次数:&n&b%XgpLottery_ThisPlayer_123_current%'
  - '&6手持钥匙&b右键&6开启抽奖'
  - '&bshift+右键&6打开奖池预览'
  - '&d价格: &b%XgpLottery_value_123%&d点券'
  - '&b/xl shop &6打开商店购买'
排行榜
  - ICON:GOLD_INGOT
  - '&l{rainbow}排行榜'
  - '&6&l&m---------------'
  - '&e第1名&b%XgpLottery_top_1_name% &e抽奖次数:&b%XgpLottery_top_1_amount%'
  - '&e第2名&b%XgpLottery_top_2_name% &e抽奖次数:&b%XgpLottery_top_2_amount%'
  - '&e第3名&b%XgpLottery_top_3_name% &e抽奖次数:&b%XgpLottery_top_3_amount%'
  - '&e第4名&b%XgpLottery_top_4_name% &e抽奖次数:&b%XgpLottery_top_4_amount%'

复制代码
已知问题

暂无~如有相关问题请向我反馈,你可以包括但不限于站内信,帖内回复。

更新记录
1.0.0   插件发布 2023.5.24

下载地址





XgpLottery-1.0.0.jar

(152.46 KB, 下载次数: 0)




要是服务端没有Gson报错(此处点名1.7.10 1.8的spigot就自带了)则下载这一个





XgpLottery-1.0.0.jar

(396.72 KB, 下载次数: 0)







注意事项
如果报错 java.lang.NoClassDefFoundError: com/google/gson/JsonElement是因为服务端不自带gson库导致的
则下载另一个文件体积较大的版本, 我狠狠的把Gson给塞进去了
服务端版本1.9以下是不能使用粒子特效的。
早期版本可能没考虑的bug会很多,我在此对使用并反馈bug的坛u表示感谢

不知道干啥的文档/开源地址

文档:点击这里~开源:(shishan)呜呜呜我的代码就像海绵一样千疮百孔轻一点喷~

使用情况


本插件所用所有代码均为原创,不存在借用/抄袭等行为

第一页 上一页 下一页 最后一页