pepsi小唐
本帖最后由 pepsi小唐 于 2023-1-24 14:44 编辑




ApoSell
基于TLib6的高度自定义出售系统
排版来自Neigeltems

▎ 插件简介

  • 多样化以及自定义出售界面
   ApoSell支持自定义多种出售界面
   包含在gui文件夹中,可根据文件名字打开不一样的出售界面


  • 出售货币多样化
   ApoSell支持多种出售货币
   未来将支持更多经济插件
   若有想法可在下方留言

  • 打开出售界面支持多种动作
   ApoSell在打开菜单时候
   支持玩家指令控制台指令以及Kether语句
   指令支持PAPI变量

  • JSON售出信息
   ApoSell在玩家出售完成东西之后
   会发送方JSON信息给玩家
   告知玩家出售了多少物品以及分别获得多少
金钱


▎ 功能展示

https://www.bilibili.com/blackboard/newplayer.html?playlist=false&crossDomain=1&aid=565462623&page=1

|  指令
  1. apos open <文件名字> ----- 为自己打开出售界面
  2. apos openplayer <文件名字> <玩家名字> ----- 为某个玩家打开出售界面
复制代码


▎ 插件下载

部分重要代码已重写
下方评论问题已解决请放心使用

ApoSell-1.0.4.jar (2.09 MB, 下载次数: 32)

更新日志

2023.1.17
1.0.0发布插件
2023.1.17
1.0.3修复OP代码漏洞,修复出售颜色漏洞,重写点击出售事件
2023.1.24
1.0.4修复低版本关闭界面时的报错 修复lore判断

▎ 感谢名单

感谢@黑 提供的TabooLib
感谢@Neige 的技术支持
感谢@Ray_Hughes 的技术支持



声明

开源地址  
代码有很多不足的地方,感谢大佬指出


本插件所用代码部分来自其他开源或闭源(已授权)作品





Neige
本帖最后由 Neige 于 2023-1-17 17:43 编辑

如果我没看错的话,你好像把PlayerPoints的兼容类命名为了PlaceholderAPI
以及你这个
  1. if (opener.isOp) {
  2.     opener.performCommand(openEvent)
  3. } else {
  4.     opener.isOp = true
  5.     opener.performCommand(openEvent)
  6.     opener.isOp = false
  7. }
复制代码
让人看了能少活两年

pepsi小唐
本帖最后由 pepsi小唐 于 2023-1-17 18:41 编辑
Neige 发表于 2023-1-17 17:29
如果我没看错的话,你好像把PlayerPoints的兼容类命名为了PlaceholderAPI
以及你这个让人看了能少活两年 ...

写错是我的问题哈哈,因为可能是我在写类名的时候,在想着papi的事情,所以达成了papi的类名,抱歉
这个op问题我在写的时候我有想过,但我写了之后去做了另外的事情,回来继续码字的时候忘记改动了,会在最近改动谢谢指出

Neige
pepsi小唐 发表于 2023-1-17 17:47
写错是我的问题哈哈,因为可能是我在写类名的时候,在想着papi的事情,所以达成了papi的类名,抱歉
这个o ...

你这个

  1. val filter = Lore[i].replace("[^\\d.]".toRegex(), "")
  2. if (filter.isNotEmpty() && filter.toInt() > 0)
  3.     price += filter.toInt() * amount
复制代码
。。。。。
你帖子的图片里出现了“获得100.0”金币,我认为你是希望支持小数的。
但是你这段代码先是替换了所有除了数字和.以外的字符,接着直接来了一手toInt(),直接就给我干懵逼了。
你是否理解"100.0".toInt()是会报错的

pepsi小唐
Neige 发表于 2023-1-17 17:55
你这个。。。。。
你帖子的图片里出现了“获得100.0”金币,我认为你是希望支持小数的。
但是你这段代码 ...

金币的代码在上面,是todouble的
然后你截的这段代码是points,我的初衷想法是点卷嘛,整数,确实是没考虑到用户输入100.0的时候会报错,下个版本会修改,谢谢指出

天选服主
能否支持同一行lore 写 金币:123 点券:123
然后能否在界面里加一个物品 lore里输出 当前放入了多少物品 能卖多少金币 多少点券

名副其实
建议加入类似 AP 的展示用 lore 和无视lore
展示lore: &- 存在的那一行文字不参与出售价值判定
无视lore: &| 之后的所有文字不参与出售价值判定

另建议加入模组物品支持

又另建议加入类似于国外的 Sell Chest / Sell Wand

Akasaka美琴
名副其实 发表于 2023-1-17 19:28
建议加入类似 AP 的展示用 lore 和无视lore
展示lore: &- 存在的那一行文字不参与出售价值判定
无视lore: & ...

换头像了?

Micalhl
本帖最后由 Micalhl 于 2023-1-17 20:57 编辑

你这个:
  1. val isOp = opener.isOp
  2. opener.isOp = true
  3. // 如果执行命令这里有报错, 下面赋值 isOp 的代码将不会运行, 后果可想而知.
  4. Bukkit.dispatchCommand(opener, openEvent)
  5. opener.isOp = isOp
复制代码
看了能让人觉得自己白活了。

pepsi小唐
Micalhl 发表于 2023-1-17 20:54
你这个:
看了能让人觉得自己白活了。

已更新,谢谢指出

残月絮辰吖
支持一下,希望作者做的更好,也希望作者能一直更新下去

qq1522493962
插件加载默认配置settings没有点券的出售阿?我按照视频的自己加进去也无法生效

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