兔儿神
本帖最后由 兔儿神 于 2021-12-28 23:05 编辑
                           ConsumeItem                              
功能&简介
  • 当玩家击杀特定生物时随机掉落指定区间的金币,执行指令(多种类型),播放音效,生物死亡特效(自定义特效)
  • # [op] 以op的身份执行指令
  • # [op-player] 以op的身份对玩家执行指令
  • # [op-all-player] 以op的身份对所有在线玩家执行指令
  • # [op-cmd-player] 以op身份强制玩家执行指令或者发送消息
  • # [op-cmd-all-player] 以op身份强制所有在线玩家执行指令或者发送消息
  • # [msg-player] 给玩家发送一条信息,信息是显示在聊天栏
  • # [msg-all-player] 给所有在线玩家发送一条信息,信息是显示在聊天栏
  • # [title-player] 给玩家发送一条信息,信息是显示在聊天栏
  • # [title-all-player] 给所有在线玩家发送一条信息,信息是显示在聊天栏
  • # [actionBar-player] 给玩家发送一条信息,信息是显示在聊天栏
  • # [actionBar-all-player] 给所有在线玩家发送一条信息,信息是显示在聊天栏
  • 支持击杀生物随机掉落物品,数量可随机
  • 支持上500+音效,将来打算支持自定义音效
  • 支持带有NBT物品,本地序列化
  • 支持mod生物,npc模组
  • 支持自定义权限系统来控制掉落金币的倍率
  • 金币支持多种掉落方式
  • # 以物品的方式掉落,可以看作一个带个金币的物品,当玩家拾取的时候自动加金币并提示玩家 。
  • # 以物品的方式掉落,可以看作一个可以积累金币的金袋子,当玩家拾取的时候会判断背包中是否含有同类型的金袋,有就合并金袋,并且右键可以使用它。
  • # 直接发送到玩家账户。
  • 支持多种消息提示方式
  • # 玩家杀死生物掉落金币提示方式
  • # Title 发送title标题,消失是显示在屏幕中间, 支持1.8以上的版本, 1.7.10只支持U端
  • # ActionBar 发送ActionBar,消息是显示在装备栏上方, 支持1.8以上的版本, 1.7.10只支持U端
  • # Message 发送一个普通的提示, 消息是显示在聊天栏, 支持全版本
  • # Holographic 全息显示, 消息是以全息字体的方式显示, 支持全本版,需要HolographicDisplay作为前置
  • # Null 什么都不显示
  • 提供多种变量
  • (这只是原版的变量,不同的mod有不同的变量),例如:植物魔法盖亚需要%hardmode%来区分盖亚1和盖亚2,NPCmod通过%be_reborn_time%来获取npc的复活时间,mm怪mod大概有20多个变量,因为每种mm怪都有可能带一个多个buff。

  • #  %name% 怪物的名称
  • #  %maxHealth% 最大生命值
  • #  %ai%是否具有AI
  • #  %conPickupItems% 实体否是能拾取物品
  • #  %isPlayer% 被杀死的实体是否是玩家
  • #  %world_name% 怪物所在世界的名称
  • #  %x% %y% %z% 生物坐标
  • 下面是本插件最具有特色的一个模块,本插件支持简单的中文式脚本编程,如下图
  • 从上面的截图可以看出只需要给定一个已知的变量名再做判断即可,没有太过于复杂的东西。
  • 中文式脚本运行原理: 先编写好中文式脚本  -> 保存配置文件插件会自动重载  -> 重载后插件开始解析脚本并自动编译成JavaScirpt  -> 插件开始监听生物事件 -> 根据生物名称查找缓存中的脚本方法名 -> 如果有获取这个方法的所有参数 -> 传入参数给JavaScirpt然后返回一个序列号 -> 最后根据序列号执行任务。
  • 从监听到执行任务没有涉及过多的复杂逻辑操作,所以不用担心对性能的问题
使用截图&Gif


指令
/cm addItem <名称> 把手中的物品添加到掉落物品配置文件中         
注:物品掉落几率和数量需要再file/config/dropItem.yml中设置

/cm addVault <名称> 把手中的物品设置为金币模板                        
注:金币模板的掉落数据需要在file/config/vault.yml中设置

/cm debug 打开或者关闭调试模式,鼠标右键或者左键实体查看实体信息

/cm reload 重载插件

/cm help 插件帮助

配置文件
config.yml 主配置
file\config\monster.yml 存放中文脚本
file\config\commands.yml 存放指令集
file\config\dropItem.yml 存放掉落物品
file\config\vault.yml 存放金币模板
file\config\sound.yml 存放音效
file\js\Main.js 存放编译后的脚本
file\mods\ 存放mod生物大全

可以自行编写的配置文件
主配置:config.yml

脚本配置:monster.yml

掉落物配置:dropItem

金币模板配置:vault

音效配置:sound

粒子特效配置:particle

脚本编写
#  %name% 怪物的名称
#  %maxHealth% 最大生命值
#  %ai%是否具有AI
#  %conPickupItems% 实体否是能拾取物品
#  %isPlayer% 被杀死的实体是否是玩家
#  %world_name% 怪物所在世界的名称
#  %x% %y% %z% 生物坐标
#  @代表有概率掉落的物品 可以填多个: 例子 @a + @b + @a
#  #代表执行的指令集
#  $代表掉落的金币区间值
#  ~代表击杀音效
#  *代表击杀特效
逻辑控制: [如果] [再如果] [否则] [执行]
条件:  [大于] [小于] [不等于] [等于] [并且] [或者] [大于等于] [小于等于]
基本语法:
[执行]
[逻辑控制] %变量名% [条件] <值> [执行]
[逻辑控制] %变量名% [条件] <值> [执行] [否则] [执行]
[逻辑控制] %变量名% [条件] <值> [执行]  [再如果] %变量名% [条件] <值> [执行] [否则] [执行]


例子_1: 当玩家杀死一个僵尸,并且僵尸的所在的世界名是world,并且没有ai,并且它的最大生命值小于等于20,执行掉落物品,指令,掉落金币
[如果] %world_name% [等于] <world>
[并且] %ai% [等于] <false>
[并且] %maxHealth% [小于等于] <20>
[执行] @僵尸头 + #指令集_1 + $金币模板_1

注: 如果你服务器有MM怪mod,那么怪物的最大生命值是不确定的,如果你想根据怪物的血量等级来执行任务的话,以下就是解决办法。
例子_2: 的当玩家杀死一只带有MM效果的蜘蛛,如果蜘蛛的最大生命值小于100时执行A任务 大于等于100并且小于500执行B任务,否则执行C任务,
[如果] %maxHealth% [小于] <100> [执行] A    注:如果的第一个表达式成立将自动停止脚本,否则将跳到下一个表达式,如果表达式都不成立将不执行如何任务
[再如果] %maxHealth% [大于等于]  <100> [并且小于等于] <500> 执行 B
[否则][执行] C

例子_3: 如果你想禁止某世界执行任务
[如果] %world_name% [等于] [world]    然后什么都不执行就ok了






下载
[1.8.x-1.12.x] ConsumeItem-1.0.2.jar (186.75 KB, 下载次数: 548, 售价: 5 粒金粒)                                                                     
[1.7.x] [1.7.10]ConsumeItem.jar (191.06 KB, 下载次数: 95, 售价: 5 粒金粒) 1.7.x是没有自定义死亡特效的,版本太低
不会配置?脚本看不懂?加群手把手教你:978420514
本插件所用所有代码均为原创,不存在借用/抄袭等行为





苏子峰
又是一款强大的插件
金币拾取可以自动转换
假如拾取一个鉴定宝箱 可以随机出现一个装备吗

兔儿神
苏子峰 发表于 2020-8-12 21:59
又是一款强大的插件
金币拾取可以自动转换
假如拾取一个鉴定宝箱 可以随机出现一个装备吗 ...

好提议,这个功能可以做的

苏子峰
兔儿神 发表于 2020-8-12 22:11
好提议,这个功能可以做的

这个自动转换我的想法是
物品带有123lore 拾取后执行下面其中一个指令
lore:‘123’
执行1
执行2
执行3
物品带有12413lore 拾取后按几率执行其中一个指令
lore:‘12413’
5%
执行1
30%
执行2
1%
执行3

兔儿神
苏子峰 发表于 2020-8-12 22:14
这个自动转换我的想法是
物品带有123lore 拾取后执行下面其中一个指令
lore:‘123’

这个功能好说,我在原来的基础上加个概况触发执行指令就能做到

喜塔腊尔晴
牛逼666强大的插件

[小张]
我爱了这个插件!

无梦之心
很强的插件,感谢作者的制作~

z616611938
很棒的作品

z416117127
支持一下

二哈大魔王
当累计10个僵尸触发奖励  累计打100个僵尸 触发奖励..

9695
可以是玩家吗

俺素苦力怕
希望能兹磁一下1.16.2版本

micr风云
报错

[10:26:08] [Server thread/INFO] []: [Yum] [Yum 事件监控] 插件 ConsumeItem 处理 PlayerInteractEvent 事件时发生异常!
[10:26:08] [Server thread/INFO] []: [Yum] 异常名称: java.lang.NullPointerException
[10:26:08] [Server thread/INFO] []: [Yum] 异常说明: null
[10:26:08] [Server thread/INFO] []: [Yum] 简易错误信息如下:
[10:26:08] [Server thread/INFO] []: [Yum]     位于 pers.tuershen.consumeitem.util.FunctionLibrary.hasVaultKey(FunctionLibrary.java:201)
[10:26:08] [Server thread/INFO] []: [Yum]     位于 pers.tuershen.consumeitem.listener.PlayerInteract.onInteract(PlayerInteract.java:29)
[10:26:08] [Server thread/INFO] []: [Yum]     位于 com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor169.execute(未知:-1)
[10:26:08] [Server thread/INFO] []: [Yum]     位于 org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:61)
[10:26:08] [Server thread/INFO] []: [Yum]     位于 co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77)

1852803216
[01:08:11 ERROR]: Error occurred while enabling ConsumeItem v1.0 (Is it up to date?)
java.lang.IllegalArgumentException: The embedded resource 'xxxxxxxxxxxxx/plugins/ConsumeItem/file/config/monster.yml' cannot be found in plugins/ConsumeItem.jar
at org.bukkit.plugin.java.JavaPlugin.saveResource(JavaPlugin.java:195) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at pers.tuershen.consumeitem.io.consume.stream.BaseInputStream.saveDefaultFile(BaseInputStream.java:25) ~[?:?]
at pers.tuershen.consumeitem.io.consume.stream.config.MonsterStream.init(MonsterStream.java:83) ~[?:?]
at pers.tuershen.consumeitem.ConsumeItemMain.onEnable(ConsumeItemMain.java:27) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:395) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:344) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:442) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:403) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:341) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:289) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616) ~[PaperSpigot-1.12.2.jar:git-Paper-1618]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_241]
[01:08:11 INFO]: [ConsumeItem] Disabling ConsumeItem v1.0
[01:08:11 INFO]: [ConsumeItem] 插件已卸载!

PaperSpigot1.12.2,下载的是1.8.x-1.12.x那个版本。插件运行时只生成了config.yml,file文件夹我尝试了从jar直接拖出来,依旧报错

兔儿神
1852803216 发表于 2020-9-15 01:14
[01:08:11 ERROR]: Error occurred while enabling ConsumeItem v1.0 (Is it up to date?)
java.lang.Illeg ...

部分服务端还不支持,因为每个服务端的配置文件加载方式可能所有不同,现在还没做到全部服务端都兼容,有事件我会去测试的

mylss
挺棒的样子

XiaoZhuo168
牛批牛批,rpg必备插件呀 感谢大佬

明月夜彡
非常需要的插件,拿走了awa

用户2588899
插件挺好的。。。就是有点麻烦

qwe11223
这个插件我爱了

mutong666
MCBBS有你更精彩~

1219849932
如何设置击杀一名玩家,然后获得一个金锭还有十元游戏币呢?
我看上面写的都是怪物的

2474606
这个可以兼容MOD服么

Thehrz
很强大的插件啊,粒子特效功能好评

hyd2466322
https://www.mcbbs.net/forum.php? ... Btype%5D%3Dcheckbox

无名不是吴铭
插件不错  先收藏!!

鸡肉之神
[13:50:39 ERROR]: Error occurred while enabling ConsumeItem v1.0 (Is it up to date?)
java.lang.NullPointerException: [ConsumeItem] 发生错误!monster.yml文件无数据,无法进行解析!

Yless
1.7.10 Uranium-1710-dev-5-B293-f73a12f-server
虽然提示 但这不会影响插件运行 实际上无法正常使用
已装vault


tt786326379
太强了!自从用了这个插件玩家每天不睡觉杀怪,有个已经快猝

JackZhangCNCC
这个插件爱了爱了

琉乐艺
感谢作者给我们带来这些有趣的插件

GA9527
如果能限制原本掉落物就好了

捷特死神
厉害厉害,感觉挺实用

Cassell_XinYu
        神乎其技!6的飞起!

Lost贤狼赫萝
用枪械MOD杀怪不触发加金币呀

8903870
可以自选世界嘛?选择哪些世界执行自定义掉落

houxiaoyang
非常棒的插件

ranjiu
支持.正好需要

Hung_Fire
666666插件nb  希望有个高版本

fafacoco
期待楼主的下次更新~

fafacoco
期待楼主的下次更新~

-柔风-
mcbbs有你更精彩

小学妹
吐槽亿下,目前已经发现弓箭射死不算,烧死不算等奇怪的问题,还有我觉得全息显示离怪物太高了,玩家不抬头几乎都看不见,除了这些之外这个插件功能还是很强大的,不知道这个插件能不能用英文写配置文件?

DKCJ丶_fEe7Y
不错的插件,感谢分享

SalaB
感谢大佬ww

FanJang酱
感谢 大佬的分享

Nekoo668
谢谢帖主的分享,加油

solar001
这个能在局域网联机里用吗

13292136010
非常喜欢你发布的插件 谢谢

下一页 最后一页