0x02 C02PacketUseEntity
Player interacts with (attacks or right-clicks) an entity.
Fields
| Field | Type | Description |
|---|---|---|
| entityId | VarInt | Target entity ID |
| action | Enum | INTERACT, ATTACK, or INTERACT_AT |
| hitVec | (float,float,float) | Target position on the entity (for INTERACT_AT) |
Wire Encoding
| Field | Type | Notes |
|---|---|---|
| Entity ID | VarInt | |
| Type | VarInt Enum | 0=INTERACT, 1=ATTACK, 2=INTERACT_AT |
| Hit X (if INTERACT_AT) | float | |
| Hit Y (if INTERACT_AT) | float | |
| Hit Z (if INTERACT_AT) | float |
MCP References
NetHandlerPlayServer.processUseEntity()Handler Interface
INetHandlerPlayServerNotes
implementation Implementation Cases
Send ATTACK action on target entities. Criticals intercept and inject C04 offset packets before the attack. NoDamageFriends cancels attacks on friend entities. AutoClicker sends attacks on mouse-over entities.
// Attack
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(target, C02PacketUseEntity.Action.ATTACK));
// NoFriendDamage — cancel
if (event.getPacket() instanceof C02PacketUseEntity) {
C02PacketUseEntity c02 = (C02PacketUseEntity) event.getPacket();
if (c02.getAction() == C02PacketUseEntity.Action.ATTACK && isFriend(c02.getEntityFromWorld()))
event.setCancelled(true);
}
// Criticals — inject offsets
if (event.getPacket() instanceof C02PacketUseEntity && ((C02PacketUseEntity)event.getPacket()).getAction() == ATTACK) {
for (double offset : offsets)
mc.thePlayer.sendQueue.addToSendQueue(new C04PacketPlayerPosition(x, y + offset, z, false));
}Send ATTACK action on target entities. Criticals intercept and inject C04 offset packets before the attack. NoDamageFriends cancels attacks on friend entities. AutoClicker sends attacks on mouse-over entities.
// Attack
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(target, C02PacketUseEntity.Action.ATTACK));
// NoFriendDamage — cancel
if (event.getPacket() instanceof C02PacketUseEntity) {
C02PacketUseEntity c02 = (C02PacketUseEntity) event.getPacket();
if (c02.getAction() == C02PacketUseEntity.Action.ATTACK && isFriend(c02.getEntityFromWorld()))
event.setCancelled(true);
}
// Criticals — inject offsets
if (event.getPacket() instanceof C02PacketUseEntity && ((C02PacketUseEntity)event.getPacket()).getAction() == ATTACK) {
for (double offset : offsets)
mc.thePlayer.sendQueue.addToSendQueue(new C04PacketPlayerPosition(x, y + offset, z, false));
}Send ATTACK action on target entities. Criticals intercept and inject C04 offset packets before the attack. NoDamageFriends cancels attacks on friend entities. AutoClicker sends attacks on mouse-over entities.
// Attack
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(target, C02PacketUseEntity.Action.ATTACK));
// NoFriendDamage — cancel
if (event.getPacket() instanceof C02PacketUseEntity) {
C02PacketUseEntity c02 = (C02PacketUseEntity) event.getPacket();
if (c02.getAction() == C02PacketUseEntity.Action.ATTACK && isFriend(c02.getEntityFromWorld()))
event.setCancelled(true);
}
// Criticals — inject offsets
if (event.getPacket() instanceof C02PacketUseEntity && ((C02PacketUseEntity)event.getPacket()).getAction() == ATTACK) {
for (double offset : offsets)
mc.thePlayer.sendQueue.addToSendQueue(new C04PacketPlayerPosition(x, y + offset, z, false));
}Send ATTACK action on target entities. Criticals intercept and inject C04 offset packets before the attack. NoDamageFriends cancels attacks on friend entities. AutoClicker sends attacks on mouse-over entities.
// Attack
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(target, C02PacketUseEntity.Action.ATTACK));
// NoFriendDamage — cancel
if (event.getPacket() instanceof C02PacketUseEntity) {
C02PacketUseEntity c02 = (C02PacketUseEntity) event.getPacket();
if (c02.getAction() == C02PacketUseEntity.Action.ATTACK && isFriend(c02.getEntityFromWorld()))
event.setCancelled(true);
}
// Criticals — inject offsets
if (event.getPacket() instanceof C02PacketUseEntity && ((C02PacketUseEntity)event.getPacket()).getAction() == ATTACK) {
for (double offset : offsets)
mc.thePlayer.sendQueue.addToSendQueue(new C04PacketPlayerPosition(x, y + offset, z, false));
}Send ATTACK action on target entities. Criticals intercept and inject C04 offset packets before the attack. NoDamageFriends cancels attacks on friend entities. AutoClicker sends attacks on mouse-over entities.
// Attack
mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(target, C02PacketUseEntity.Action.ATTACK));
// NoFriendDamage — cancel
if (event.getPacket() instanceof C02PacketUseEntity) {
C02PacketUseEntity c02 = (C02PacketUseEntity) event.getPacket();
if (c02.getAction() == C02PacketUseEntity.Action.ATTACK && isFriend(c02.getEntityFromWorld()))
event.setCancelled(true);
}
// Criticals — inject offsets
if (event.getPacket() instanceof C02PacketUseEntity && ((C02PacketUseEntity)event.getPacket()).getAction() == ATTACK) {
for (double offset : offsets)
mc.thePlayer.sendQueue.addToSendQueue(new C04PacketPlayerPosition(x, y + offset, z, false));
}