- Выберите загрузчик игры
- Vanilla
- OptiFine
ssselfcode:
@FunctionAnnotation(name = "HitDebug", type = Type.Player)
public class HitDebug extends Function {
private TimerUtil lastAttack = new TimerUtil();
private int lastEntityId;
private boolean confirm;
@Override
public void onEvent(Event event) {
if (event instanceof EventPacket pac) {
if (pac.getPacket() instanceof CUseEntityPacket up && up.getAction() == CUseEntityPacket.Action.ATTACK) {
Entity entity = up.getEntityFromWorld(mc.world);
lastEntityId = entity.getEntityId();
lastAttack.reset();
confirm = false;
}
if (pac.getPacket() instanceof SEntityStatusPacket ep && ep.getOpCode() == 2 && ep.entityId == lastEntityId) {
confirm = true;
}
if (pac.getPacket() instanceof SChatPacket cp) {
String chatmsg = cp.getChatComponent().getString();
//TODO: кто захочет добавить сапорт в рг я лиш дал базовый метод
}
}
if (event instanceof EventUpdate) {
if (!confirm && lastAttack.hasTimeElapsed(120)) {
//TODO дописать поддержку пинга игрока
ClientUtil.sendMesage("No damage");
confirm = true;
}
}
}
}
Последнее редактирование: