Начинающий
- Статус
- Оффлайн
- Регистрация
- 30 Июл 2025
- Сообщения
- 15
- Реакции
- 0
- Выберите загрузчик игры
- Fabric
- OptiFine
- Прочие моды
Суть функции: Отправка сообщения через 5 секунд после смерти.
1 работа. ( пж одобрите )
1 работа. ( пж одобрите )
package ru.okakclient.functions.impl.misc;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.*;
import im.expensive.events.EventDeath;
import com.google.common.eventbus.Subscribe;
import net.minecraft.network.play.client.CPacketChatMessage;
import java.util.concurrent.*;
@FunctionRegister(
name = "AutoLaki+",
description = "Пишет кастомное сообщение после смерти",
category = Category.MISC
)
public class AutoLakiPlus extends Function {
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
private final StringSetting message = new StringSetting("Message", "Сообщение", "laki");
private final NumberSetting delay = new NumberSetting("Delay", "Задержка (сек)", 5, 1, 30, 1);
private final BooleanSetting globalChat = new BooleanSetting("Global", "Глобальный чат", false);
private boolean isCooldown = false;
public AutoLakiPlus() {
addSettings(message, delay, globalChat);
}
@Subscribe
public void onDeath(EventDeath event) {
if (isCooldown || mc.player == null) return;
isCooldown = true;
String finalMessage = globalChat.getValue() ? "!" + message.getValue() : message.getValue();
scheduler.schedule(() -> {
if (mc.player != null) {
mc.player.connection.sendPacket(new CPacketChatMessage(finalMessage));
}
isCooldown = false;
}, delay.getValue().longValue(), TimeUnit.SECONDS);
}
@override
public void onDisable() {
scheduler.shutdownNow();
super.onDisable();
}
}