Skip to content

Instantly share code, notes, and snippets.

@Cryptite
Created April 12, 2018 00:15
Show Gist options
  • Save Cryptite/e0f23aec3cbb5ab32c7b144f537bec8f to your computer and use it in GitHub Desktop.
Save Cryptite/e0f23aec3cbb5ab32c7b144f537bec8f to your computer and use it in GitHub Desktop.
Spoof Health Packets with ProtocolLib
//Spoof Health Packets
ProtocolLibrary.getProtocolManager().addPacketListener(new PacketAdapter(plugin, ENTITY_METADATA) {
public void onPacketSending(PacketEvent event) {
try {
Player observer = event.getPlayer();
StructureModifier<Entity> entityModifer = event.getPacket().getEntityModifier(observer.getWorld());
org.bukkit.entity.Entity entity = entityModifer.read(0);
if (entity != null && observer != entity && entity instanceof Player
&& (entity.getPassenger() == null || entity.getPassenger() != observer)) {
event.setPacket(event.getPacket().deepClone());
StructureModifier<List<WrappedWatchableObject>> watcher = event.getPacket()
.getWatchableCollectionModifier();
for (WrappedWatchableObject watch : watcher.read(0)) {
if (watch.getIndex() == 7 && (float) watch.getValue() > 0) {
watch.setValue(Math.max(1f, (float) r.nextInt(20)));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment