二刺螈旺财
本帖最后由 二刺螈旺财 于 2021-8-23 13:16 编辑


  DogHook                                              让Papi钩住一切

     插件介绍
       DogHook 可以让你的Papi变量在任何地方(物品,title,菜单,消息,全息图)显示,并且可以强制替换某些文本,可以实现在无语言文件下,或语言文件不支持PAPI变量的情况下的强制修改等功能。



     提示
       插件全部内容修改发包实现,不会修改任何服务端内容,比如在Lore上添加 绑定: %player_name% 并没有真正使他的Lore发生改变,故无法被绑定插件检测到


  
     我们的特色
       1. 全部发包实现
          2. 论坛首个同类插件,方便辅助
          3. 配置文件多项内容可自由开启
          4. 配置简单,命令少
          5. 全息图变量定时刷新,并非不变化
          6. 更新迅速
          7. 即插即用,无需配置
          8. 支持物品,title,菜单,消息等众多地方


      插件命令
/doghook reload
作用: 重载插件
权限: doghook.admin

           其余内容在配置文件内进行设置


      插件配置 懂得都懂

   settings.yml

  1. #启用改功能
  2. Listener:
  3.   #监听插件输出信息,玩家聊天内容
  4.   Chat: true
  5.   #监听生物名字
  6.   Entity: true
  7.   #监听物品
  8.   Item: true
  9.   #监听Title
  10.   Title: true
复制代码

   replace.yml
   
自定义替换内容,支持替换为Papi变量

  1. #启用关键词替换
  2. enable: true
  3. #替换词库
  4. replaces:
  5.   **: "我是sb"
  6.   名字: "%player_name%"
复制代码


      插件图片

插件消息支持



实体名字支持

菜单支持

Title支持

物品支持





      即将更新
     1.黑名单,包含相应内容不进行解析
     2. 计分板支持
     3. Tablist支持
     4. Motd支持


      下载
DogHook.jar (39.85 KB, 下载次数: 874)

应该都装了吧^^


      Bstats



      更新日志
         2020/8/18
              - 发布 1.0版本
         2020/8/21
              - 发布 1.1版本
              - 修复某些空指针报错


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

来自群组: Cherry Blossoms V

IllTamer
这个太强了 前排强势围观大佬

奥力給
本帖最后由 15063463486 于 2020-8-19 13:32 编辑

这就有点强了
支持一下
后续能支持一下把发包转化为真实的就好了..

夏小沫
好牛的插件

爱你入骨
有点强啊这个!

蒹葭水伊人
太实用了

wxy123.
感谢分享

616611938
支持一下

1430704465
本帖最后由 1430704465 于 2020-8-20 09:43 编辑

感觉很强,感谢大佬,不过希望大佬增加权限

213123123122
很好的一个插件

bbq技术支持
https://pastebin.com/uNKNGtK4
这是正常的?
[18:55:35 ERROR]: Parameters:
  net.minecraft.server.v1_16_R1.PacketPlayOutTitle@66d30d28[
    a=TIMES
    b=<null>
    c=0
    d=50
    e=40
    components=<null>
  ]

[18:55:35 ERROR]: [DogHook] Unhandled exception occured in onPacketSending(PacketEvent) for DogHook
java.lang.NullPointerException: null
        at me.wangcai.doghook.packets.TitlePacket$1.onPacketSending(TitlePacket.java:30) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) ~[?:?]
        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:535) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:516) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:334) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:296) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:382) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:64) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:347) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:317) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) ~[?:?]
        at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) ~[?:?]
        at net.minecraft.server.v1_16_R1.NetworkManager.b(NetworkManager.java:288) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.NetworkManager.dispatchPacket(NetworkManager.java:244) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.NetworkManager.processQueue(NetworkManager.java:359) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.NetworkManager.o(NetworkManager.java:332) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.NetworkManager.sendPacketQueue(NetworkManager.java:326) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.NetworkManager.sendPacket(NetworkManager.java:240) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.PlayerConnection.a(PlayerConnection.java:1632) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.PlayerConnection.sendPacket(PlayerConnection.java:1605) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.PlayerChunkMap$EntityTracker.broadcast(PlayerChunkMap.java:2362) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.EntityTrackerEntry.a(EntityTrackerEntry.java:182) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.EntityTrackerEntry.tick(EntityTrackerEntry.java:75) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.PlayerChunkMap.processTrackQueue(PlayerChunkMap.java:2050) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.PlayerChunkMap.g(PlayerChunkMap.java:2061) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.ChunkProviderServer.tickChunks(ChunkProviderServer.java:864) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.ChunkProviderServer.tick(ChunkProviderServer.java:742) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.WorldServer.doTick(WorldServer.java:455) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.MinecraftServer.b(MinecraftServer.java:1360) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.DedicatedServer.b(DedicatedServer.java:377) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java:1213) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:1001) ~[patched_1.16.1.jar:git-Paper-135]
        at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.1.jar:git-Paper-135]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
[18:55:35 ERROR]: Parameters:
  net.minecraft.server.v1_16_R1.PacketPlayOutTitle@3299684f[
    a=SUBTITLE
    b=<null>
    c=-1
    d=-1
    e=-1
    components=<null>
  ]

二刺螈旺财
bbq技术支持 发表于 2020-8-20 18:57
https://pastebin.com/uNKNGtK4
这是正常的?
[18:55:35 ERROR]: Parameters:

重新下载一下了

苏子峰
非常牛皮 物品上的变量是实时更新的吗!

h321
这插件有点强啊

Yless
1.7 ur
pl版本3.6.5



二刺螈旺财

更新最新版本

kejiyun
CC菜单支持不

二刺螈旺财

当然支持

橘子不哭
这就有点强了
支持一下
后续能支持一下把发包转化为真实的就好了..

俺素苦力怕
很不错,先mark一下,papi小狗狗终于可以全部兹磁了

Neige
本帖最后由 wzq2468629609 于 2020-8-31 16:24 编辑

帖子里的图片挂了。
请问支持识别物品Lore中的变量吗,
我在lore里添加了%player_name%,可是并没有发生改变。
聊天框的变量识别正常
(配置文件中开启了对所有选项的识别。
两个前置都是最新版本。插件本体是今天在帖子内下载的。
服务器版本1.12.2,核心是paperspigot)
其实我想添加的是MMOItems里的%mmoitems_durability%变量,
发现加不上去以后尝试测试了其他的变量
发现也加不上去


找到了问题所在。原因是我是在创造模式编辑物品,
却未在配置文件中允许创造模式编辑。
不过。在创造模式进行编辑后,文本似乎确实地发生了改变,没有像楼主说的那样,本质仍是变量。
比如%mmoitems_durability%
真的变成了当前的剩余耐久值。而且随着物品的使用,这个数字不会再发生变化



咳咳,再次发现了问题所在。这是因为我用了物品编辑器添加变量。
用指令获取MMO物品后,问题得以解决。
楼主插件真的好用
楼主天下第一!!!(破音)



发现了新的问题所在。
并不是物品编辑器的锅。
而是只要在创造模式下获取变量物品
变量就会变成真实的文本。
希望楼主有时间可以解决

二刺螈旺财
本帖最后由 你的旺财 于 2020-8-31 16:27 编辑
wzq2468629609 发表于 2020-8-31 15:07
帖子里的图片挂了。
请问支持识别物品Lore中的变量吗,
我在lore里添加了%player_name%,可是并没有发生改 ...

纳尼,你到底编辑了几次,还有config里面不是有创造模式监听的选项吗。

Neige
你的旺财 发表于 2020-8-31 16:26
纳尼,你到底编辑了几次,还有config里面不是有创造模式监听的选项吗。

重新编辑了三次。
是这样的,打开创造模式监听以后,变量可以成功被插件识别并替换
但是是真的替换。变量实打实地变成了真正的文字

Neige
本帖最后由 wzq2468629609 于 2020-8-31 17:10 编辑

不是OP的原因,我刚才卸掉OP,通过绑定了指令的物品执行指令。
在创造模式获得的东西,变量会变成实际文字
在生存模式获得。则无碍

而且,Lore中带有变量的物品,不手持的话就会不识别变量。
想要恢复识别只能使用物品或者将其丢弃并拾取

婲样的女孩
您好 我装了您的DogHook还装了一个MCbbs中的Msgreplace 然后我发现您的插件也有和他一样的功能,但是我把这个插件拆卸掉后,你这个插件就无法使用了

苏子峰
反馈一个小bug
写法
- ' &7[&A☨&7] &E圣光裁决 &7充能 &a%player_level% &7/ &A30'



无法读取变量


小佬虎
厉害,之前还花了钱买了个相似的,感觉很亏..

Lz.hejun
很好的插件,可以和很多其他插件配合使用,谢谢分享

zhang5030118
好东西啊 支持一下

mylss
不错可以

XiaoZhuo168
还有这种操作,牛批

FireworkPolymer
建议添加书也支持papi

小晴M

为什么我装了之后cpu直接彪50%
其他玩家进入后直接100%
tps直接下降到10,然后服务器死机
什么原因

二刺螈旺财
小晴M 发表于 2020-10-30 22:23
为什么我装了之后cpu直接彪50%
其他玩家进入后直接100%
tps直接下降到10,然后服务器死机

可能和别的操作数据包的插件冲突了吧

小晴M
你的旺财 发表于 2020-10-31 15:03
可能和别的操作数据包的插件冲突了吧


帮我看看,我是实在想不明白

二刺螈旺财
小晴M 发表于 2020-10-31 15:25
帮我看看,我是实在想不明白

看插件没用啊,报错有没有,发log

小晴M
你的旺财 发表于 2020-10-31 15:28
看插件没用啊,报错有没有,发log

主要就是没报错,玩家不进服务器是cpu正常我装了YUM之后也没提示什么线程异常
我打开任务管理才知道占用这么多CPU

蔡东莱
图片是炸了嘛。死活加载不出来

▲▲▲
替换不了chestcommands的菜单标题

MonsterXZ
本帖最后由 MonsterXZ 于 2020-11-20 18:29 编辑

反馈
聊天栏,当两个及以上替换词在同一行的时候只能替换一个!lore上,第二个替换词会加载闪一下。

batmanno1

很好的一个插件

JerryChanR
非常实用的插件
不知道是否可以添加一下忽略英文大小写的功能呢?

bin_qi
nb,非常感谢大佬提供这个插件!

落落哟
支持一下

Craftwolves
报错QWQ
  1. [21:32:29 ERROR]: [DogHook] Unhandled exception occured in onPacketSending(PacketEvent) for DogHook
  2. java.lang.AbstractMethodError
  3.         at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:201) ~[%5B基础%5D占位符PlaceholderAPI-2.8.6.jar:?]
  4.         at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:178) ~[%5B基础%5D占位符PlaceholderAPI-2.8.6.jar:?]
  5.         at me.wangcai.doghook.packets.ItemPacket$1.onPacketSending(ItemPacket.java:50) ~[%5B基础%5D强制papiDogHook.jar:?]
  6.         at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) [%5B前置%5DProtocolLib.jar:?]
  7.         at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) [%5B前置%5DProtocolLib.jar:?]
  8.         at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:637) [%5B前置%5DProtocolLib.jar:?]
  9.         at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:613) [%5B前 置%5DProtocolLib.jar:?]
  10.         at com.comphenix.protocol.compat.netty.independent.NettyProtocolInjector.packetQueued(NettyProtocolInjector.java:318) [%5B前置%5DProtocolLib.jar:?]
  11.         at com.comphenix.protocol.compat.netty.independent.NettyProtocolInjector.onPacketSending(NettyProtocolInjector.java:278) [%5B前置%5DProtocolLib.jar:?]
  12.         at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector.processSending(NettyChannelInjector.java:401) [%5B前置%5DProtocolLib.jar:?]
  13.         at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector.access$500(NettyChannelInjector.java:82) [%5B前置%5DProtocolLib.jar:?]
  14.         at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector$5.handleScheduled(NettyChannelInjector.java:367) [%5B前置%5DProtocolLib.jar:?]
  15.         at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector$5.onMessageScheduled(NettyChannelInjector.java:335) [%5B前置%5DProtocolLib.jar:?]
  16.         at com.comphenix.protocol.compat.netty.independent.NettyChannelProxy$2.schedulingRunnable(NettyChannelProxy.java:127) [%5B前置%5DProtocolLib.jar:?]
  17.         at com.comphenix.protocol.compat.netty.independent.NettyEventLoopProxy.execute(NettyEventLoopProxy.java:95) [%5B前置%5DProtocolLib.jar:?]
  18.         at net.minecraft.network.NetworkManager.func_150732_b(NetworkManager.java:189) [ej.class:?]
  19.         at net.minecraft.network.NetworkManager.func_150725_a(NetworkManager.java:159) [ej.class:?]
  20.         at net.minecraft.network.NetHandlerPlayServer.func_147359_a(NetHandlerPlayServer.java:896) [nh.class:?]
  21.         at net.minecraft.entity.player.EntityPlayerMP.func_71111_a(EntityPlayerMP.java:1065) [mw.class:?]
  22.         at net.minecraft.inventory.Container.func_75142_b(Container.java:146) [zs.class:?]
  23.         at net.minecraft.inventory.Container.func_75132_a(Container.java:110) [zs.class:?]
  24.         at net.minecraft.entity.player.EntityPlayerMP.func_71007_a(EntityPlayerMP.java:877) [mw.class:?]
  25.         at org.bukkit.craftbukkit.v1_7_R4.entity.CraftHumanEntity.openInventory(CraftHumanEntity.java:186) [CraftHumanEntity.class:1.7.10-R0.1-SNAPSHOT]
  26.         at com.gmail.filoghost.chestcommands.internal.ExtendedIconMenu.open(ExtendedIconMenu.java:80) [%5B扩展%5D菜单ChestCommands.jar:?]
  27.         at com.gmail.filoghost.chestcommands.listener.InventoryListener.onInteract(InventoryListener.java:33) [%5B扩展%5D菜单ChestCommands.jar:?]
  28.         at com.gmail.filoghost.chestcommands.listener.InventoryListener_311_onInteract_PlayerInteractEvent.invoke(Uranium_ASMEventExecutorGenerate.java) [?:?]
  29.         at cc.uraniummc.eventexecutor.EventExecutorImp.execute(EventExecutorImp.java:23) [EventExecutorImp.class:1.7.10-R0.1-SNAPSHOT]
  30.         at pw.yumc.Yum.inject.ListenerInjector.execute(ListenerInjector.java:88) [Yum.jar:?]
  31.         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [RegisteredListener.class:1.7.10-R0.1-SNAPSHOT]
  32.         at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:508) [SimplePluginManager.class:1.7.10-R0.1-SNAPSHOT]
  33.         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:493) [SimplePluginManager.class:1.7.10-R0.1-SNAPSHOT]
  34.         at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:224) [CraftEventFactory.class:1.7.10-R0.1-SNAPSHOT]
  35.         at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:194) [CraftEventFactory.class:1.7.10-R0.1-SNAPSHOT]
  36.         at net.minecraft.network.NetHandlerPlayServer.func_147346_a(NetHandlerPlayServer.java:745) [nh.class:?]
  37.         at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:60) [jo.class:?]
  38.         at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:9) [jo.class:?]
  39.         at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:245) [ej.class:?]
  40.         at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:176) [nc.class:?]
  41.         at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:989) [MinecraftServer.class:?]
  42.         at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:461) [lt.class:?]
  43.         at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:806) [MinecraftServer.class:?]
  44.         at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:665) [MinecraftServer.class:?]
  45.         at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
  46. [21:32:29 ERROR]: Parameters:
  47.   net.minecraft.network.play.server.S2FPacketSetSlot@1797e787[
  48.     field_149179_a=2
  49.     field_149177_b=22
  50.     field_149178_c=1xitem.Item40@0
  51.     timestamp=1607261549345
  52.   ]
复制代码

391755610
在背包中,将鼠标光标挪到物品上,按下快捷栏"1"-"9"键其中一个,物品上的变量文本会直接显示出来,如%player_name%会显示回%player_name% 而不是我的ID.

391755610
希望支持chatiem炫耀插件qwq

二哈大魔王
这个插件强哦

LONGYONG
不错的插件,支持楼主

kevinss
啥时候更新tablist的支持啊

下一页 最后一页