Начинающий
Начинающий
- Статус
- Оффлайн
- Регистрация
- 18 Май 2025
- Сообщения
- 55
- Реакции
- 1
- Выберите загрузчик игры
- Vanilla
- Fabric
Код:
package zenith.pl.client.modules.impl.misc;
import com.darkmagician6.eventapi.EventTarget;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import zenith.pl.base.events.impl.player.EventUpdate;
import zenith.pl.client.modules.api.Category;
import zenith.pl.client.modules.api.Module;
import zenith.pl.client.modules.api.ModuleAnnotation;
import zenith.pl.client.modules.api.setting.impl.BooleanSetting;
import zenith.pl.client.modules.api.setting.impl.ModeSetting;
import zenith.pl.client.modules.api.setting.impl.NumberSetting;
import zenith.pl.utility.game.other.MessageUtil;
@ModuleAnnotation(name = "AutoLeave", category = Category.MISC, description = "Выходит с сервера при определённом событии")
public class AutoLeave extends Module {
public static final AutoLeave INSTANCE = new AutoLeave();
private final NumberSetting leaveDistantion = new NumberSetting("Дистанция выхода", 5, 3, 50, 0.1f);
private final ModeSetting leaveType = new ModeSetting("Тип выхода", "Обычный", "/home", "/spawn");
private final BooleanSetting leaveDisable = new BooleanSetting("Выключить при использовании", true);
int disableTick;
private void leave() {
if (mc.getNetworkHandler() != null) {
if (leaveDisable.isEnabled()) {
toggle();
}
mc.world.disconnect();
}
else {
MessageUtil.displayError("AutoLeave нельзя использовать в одиночной игре!");
}
}
private void commandLeave(String command) {
if (leaveDisable.isEnabled() ? disableTick >= 10 : disableTick >=30) {
mc.getNetworkHandler().sendChatCommand(command);
if (leaveDisable.isEnabled()) {
toggle();
}
disableTick = 0;
} else disableTick++;
}
@EventTarget
public void onUpdate(EventUpdate event) {
for (Entity entity : mc.world.getPlayers()) {
if (entity instanceof PlayerEntity playerEntity) {
if (playerEntity != mc.player) {
double distance = mc.player.distanceTo(playerEntity);
if (distance <= leaveDistantion.getCurrent()) {
switch (leaveType.getValue().getName()) {
case "Обычный" -> {
leave();
}
case "/home" -> {
commandLeave("/home home");
}
case "/spawn" -> {
commandLeave("/spawn");
}
}
}
}
}
}
}
}