public static PacketPlayOutEntityMetadata getMetadataPacket(DataWatcher watcher) { PacketPlayOutEntityMetadata metaPacket = new PacketPlayOutEntityMetadata(); Field a = ReflectionUtil.getDeclaredField(metaPacket.getClass(), "a"); a.setAccessible(true); try { a.set(metaPacket, (int) ENTITY_ID); } catch (IllegalArgumentException e1) { e1.printStackTrace(); } catch (IllegalAccessException e1) { e1.printStackTrace(); } try { Field b = PacketPlayOutEntityMetadata.class.getDeclaredField("b"); b.setAccessible(true); b.set(metaPacket, watcher.c()); } catch (Exception e) { e.printStackTrace(); } return metaPacket; }