Kz星星星
本帖最后由 Kz星星星 于 2022-3-31 21:47 编辑
  1.     ClearChunkMaxItems: "&2魔方&a世界 &8&l| &b世界:%world%  &e坐标:%x% %y% %z%  &4疑似恶意卡服"
复制代码


请求帮忙解决

版本:1.18

Black_Cow
我想问下是1.12.2服务器 的吗

William_Shi
我刚刚反编译了下这个插件
请看 com.mcsyr.clearitem.Event 类第65行
message = message.replace("%X%", df.format(event.getLocation().getX())).replace("%Y%", df.format(event.getLocation().getY())).replace("%Z%", df.format(event.getLocation().getZ()));

很显然,这里的变量必须是大写。也就是说,你需要把小写的 %x% 改成 大写的 %X%

比如说
    ClearChunkMaxItems: "&2魔方&a世界 &8&l| &b世界:%world%  &e坐标:%X% %Y% %Z%  &4疑似恶意卡服"

Kz星星星
本帖最后由 Kz星星星 于 2022-3-31 21:45 编辑
William_Shi 发表于 2022-3-31 21:33
我刚刚反编译了下这个插件
请看 com.mcsyr.clearitem.Event 类第65行
message = message.replace("%X%", df ...

我在配置文件中更改为大写后还是不行,游戏中还是小写。该变量依旧不生效。

William_Shi
Kz星星星 发表于 2022-3-31 21:36
我在配置文件中更改为大写后还是不行,游戏中还是小写。该变量依旧不生效。 ...

这种情况不太应该发生,毕竟我似乎没看到 toLowerCase 这样的调用?输入它提供的 /clearitem reload 子指令刷新一下内存中的配置之后还会出现这种情况吗?

Kz星星星
William_Shi 发表于 2022-3-31 21:55
这种情况不太应该发生,毕竟我似乎没看到 toLowerCase 这样的调用?输入它提供的 /clearitem reload 子指 ...

是的,还是。无论我怎么更改,都是小写除非%%间有空格

Kz星星星
本帖最后由 Kz星星星 于 2022-3-31 22:18 编辑
William_Shi 发表于 2022-3-31 21:55
这种情况不太应该发生,毕竟我似乎没看到 toLowerCase 这样的调用?输入它提供的 /clearitem reload 子指 ...

刚刚尝试在%X%前后又加了%变为了%%X%%,这样后变量显示出了数据,但是...


William_Shi
Kz星星星 发表于 2022-3-31 22:16
刚刚尝试在%X%前后又加了%变为了%%X%%,这样后变量显示出了数据,但是...

...

好吧,我刚刚帮你看了 PlaceHolderAPI 的 Issues。
https://github.com/PlaceholderAPI/PlaceholderAPI/issues/666
按照第666个Issue所反馈的,确实在某一行内有 % 这个字符时,和这个字符完全无关的大写字母会莫名其妙变成小写。这个问题似乎刚刚在3月12 - 13日被修复了。所以如果你用最新,我指的是 dev 版本的 PlaceHolderAPI,应该就可以解决这个问题了。但是 PlaceHolder 的上一个版本是去年十二月,所以建议你先等等下一个稳定版本发布。如果要我帮你直接构建一个 dev 版本不是不可以,但是很有可能会有各种稳定版没有的bug,请事先考虑清楚。

Kz星星星
William_Shi 发表于 2022-3-31 22:51
好吧,我刚刚帮你看了 PlaceHolderAPI 的 Issues。
https://github.com/PlaceholderAPI/PlaceholderAPI/i ...

要勇于尝试,麻烦你帮我构建一个

William_Shi
Kz星星星 发表于 2022-3-31 22:54
要勇于尝试,麻烦你帮我构建一个

sorry,我刚刚没看到他们有自己的 CI
https://ci.extendedclip.com/job/ ... -2.11.2-DEV-152.jar
你直接下载他们官方 CI 站的构建
发布一个 GPL 协议开源的软件比较麻烦,我就不沾染这些版权问题了。如果下载不下来再联系我。

白狗虚虚
这个插件我记得被作者放弃了,这个变量问题之前跟他提示过,他更新了好几次没有修改,尝试更换别的插件吧

Kz星星星
本帖最后由 Kz星星星 于 2022-4-1 15:07 编辑

更换变量插件以后还是不行。甚至像这样的操作也无法显示变量了





重按dve的变量插件后,又可以正常显示了,感谢你的帮助!



William_Shi
Kz星星星 发表于 2022-4-1 11:43
更换变量插件以后还是不行。甚至像这样的操作也无法显示变量了

那还有一个办法,你把清理插件里 Event 类代码第 64 和 65 行直接换一下顺序,先让插件自己替换掉XYZ,然后再让 PlaceHolder 进行可能存在 bug 的变量替换。最好还是等 PAPI 直接修掉 Bug。或者你如果有插件的源码、开源地址这些,提供给我,我帮你改掉。