Baxter
本帖最后由 Baxter 于 2022-8-16 17:40 编辑

    介绍
你是否有找不到攻击者或者攻击实体而烦恼绞尽脑汁考虑如何写指令才能做到无误判精准检测
现在你完全不用考虑这些了,因为本数据包将帮你解决这些问题
并且本数据包操作十分简单

    使用
加载数据包后使用
  1. execute as @e[tag=!bax.id_init] run function bax:event/init
复制代码
给当前所有实体初始化,对于新生成实体也需要初始化后才能使用检测

你可以修改在data\bax\tags\functions\generic\event下的函数标签来增加检测后执行的函数

该数据包最多支持2097151个实体,如果你需求更大可以继续添加

    例子
假如我要做一个简单的玩家攻击实体的检测,首先我们要对目标实体和玩家初始化
  1. execute as @a run function bax:event/init
  2. execute as @e[tag=target] run function bax:event/init
复制代码
我们要实现的效果是当玩家攻击target时让玩家说1,而target说2

如果你是旧版前置请使用隐藏内容修改
新版前置不需要修改本前置内容,在你的数据包目录下新建data\bax\tags\functions\generic\event\player_hurt_entity.json
  1. {
  2.   "values": [
  3.     "test"
  4. ]
  5. }
复制代码
然后修改test函数
  1. execute if entity @s[tag=target] run say 2
  2. execute if entity @s[tag=target] as @a if score @s bax.uid = .this bax.uid run say 1
复制代码

希望这个前置能够帮助到你

    更新
2022.7.20 修复了重载无法触发的问题
2022.8.14 更新了指针,激活成就后可以通过拿.this bax.uid指向玩家
2022.8.16 支持实体更新为2097151,更新player_killed_entity前玩家会执行#bax:pre_pke函数(实体死亡后不会执行)


茵彼1nbee
这个确实没有想到,但是感觉随机选择会有点慢

3102084738
可以可以感谢!!!

Ph-苯
本帖最后由 Ph-苯 于 2022-8-13 22:31 编辑

🤔……
👍!
有两个小问题:
1.穷举是纯手打的还是用了正则或程序?
2.bax:functions/generic/event/下的四个空标签是干什么的?(我眼拙不好意思当我没问)

Baxter
Ph-苯 发表于 2022-8-13 20:42
🤔……
👍!
有两个小问题:

复制粘贴然后替换(
是在检测完后执行的函数,不用修改本前置

Desperanza
作者大大加油

如此伞兵
dadadadadadadadad

墨三凌
穷举的话,内存占用会不会大啊

是十六不是老六
牛哇!感谢!!!!!!!!!!

qinzhe
666,感谢大佬分享

三分钟的热度_

asin
解决不少问题

2998643651
感谢分享

虎牙伊南
感谢楼主分享

812311700
可以可以可以

15878508978
感谢楼主分享喜欢!

wdfx
谢谢!!!!!!!!!!!

4442222
66666666666

liuzengrui233
#bax:generic/event/player_killed_entity由于杀死的实体已经不存在所以任何情况下都不会执行是吗

季楠
很棒的数据包~感谢分享!