Advertisement
lNockl

Untitled

Sep 22nd, 2017
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. package me.nock.test.Utils.KillauraDetection;
  2.  
  3. import java.lang.reflect.Field;
  4. import java.util.List;
  5.  
  6. import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
  7. import org.bukkit.entity.Player;
  8.  
  9. import io.netty.channel.Channel;
  10. import io.netty.channel.ChannelHandlerContext;
  11. import io.netty.handler.codec.MessageToMessageDecoder;
  12. import net.minecraft.server.v1_8_R3.Packet;
  13.  
  14. public class PacketReader {
  15.  
  16. Player player;
  17. Channel channel;
  18.  
  19. public PacketReader(Player player) {
  20. this.player = player;
  21. }
  22.  
  23. public void inject() {
  24. CraftPlayer cPlayer = (CraftPlayer) this.player;
  25. channel = cPlayer.getHandle().playerConnection.networkManager.channel;
  26. channel.pipeline().addAfter("decoder", "PacketInjector", new MessageToMessageDecoder<Packet<?>>() {
  27. @Override
  28. protected void decode(ChannelHandlerContext arg0, Packet<?> packet, List<Object> arg2) throws Exception {
  29. arg2.add(packet);
  30. readPacket(packet);
  31. }
  32. });
  33. }
  34.  
  35. public void uninject() {
  36. if (channel.pipeline().get("PacketInjector") != null) {
  37. channel.pipeline().remove("PacketInjector");
  38. }
  39. }
  40. //SEE ATTACK EVENT BELOW
  41. public void readPacket(Packet<?> packet) {
  42. if (packet.getClass().getSimpleName().equalsIgnoreCase("PacketPlayInUseEntity")) {
  43. int id = (Integer) getValue(packet, "a");
  44. if (KillAuraDetection.npcs.get(player).getEntityID() == id) {
  45. if (getValue(packet, "action").toString().equalsIgnoreCase("ATTACK")) {
  46. KillAuraDetection.npcs.get(player).animation(1);
  47. KillAuraDetection.AddLevel(player, 1);
  48. /*
  49. * }
  50. * else if(getValue(packet, "action").toString().equalsIgnoreCase("INTERACT")){
  51. * player.openInventory(player.getEnderChest());
  52. */
  53. }
  54. }
  55.  
  56. }
  57. }
  58.  
  59. public void setValue(Object obj, String name, Object value) {
  60. try {
  61. Field field = obj.getClass().getDeclaredField(name);
  62. field.setAccessible(true);
  63. field.set(obj, value);
  64. } catch (Exception e) {
  65. }
  66. }
  67.  
  68. public Object getValue(Object obj, String name) {
  69. try {
  70. Field field = obj.getClass().getDeclaredField(name);
  71. field.setAccessible(true);
  72. return field.get(obj);
  73. } catch (Exception e) {
  74. }
  75. return null;
  76. }
  77.  
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement