NoUseDelay | Excellent

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
6 Авг 2024
Сообщения
104
Реакции
0
Убирает задержку на использования предметов по типу Пузырька опыта


CODE:
Expand Collapse Copy
package dev.excellent.client.module.impl.player;

import com.google.common.eventbus.Subscribe;
import dev.excellent.api.event.impl.other.TickEvent;
import dev.excellent.client.module.api.Category;
import dev.excellent.client.module.api.Module;
import dev.excellent.client.module.api.ModuleInfo;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;

import java.lang.reflect.Field;

@ModuleInfo(name = "NoUseDelay", description = "Убирает задержку на использование предметов.", category = Category.PLAYER)
public class NoUseDelay extends Module {
    @Subscribe
    public void onEvent(TickEvent e) {
        if (mc.player != null && mc.world != null) {
            ItemStack itemStack = mc.player.getHeldItemMainhand();
            if (itemStack.getItem() == Items.EXPERIENCE_BOTTLE || itemStack.getItem() == Items.SPLASH_POTION) {
                try {
                    Field field = Minecraft.class.getDeclaredField("rightClickDelayTimer");
                    field.setAccessible(true);
                    field.setInt(mc, 0);
                } catch (NoSuchFieldException | IllegalAccessException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну такое, можно легче сделать
 
Убирает задержку на использования предметов по типу Пузырька опыта


CODE:
Expand Collapse Copy
package dev.excellent.client.module.impl.player;

import com.google.common.eventbus.Subscribe;
import dev.excellent.api.event.impl.other.TickEvent;
import dev.excellent.client.module.api.Category;
import dev.excellent.client.module.api.Module;
import dev.excellent.client.module.api.ModuleInfo;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;

import java.lang.reflect.Field;

@ModuleInfo(name = "NoUseDelay", description = "Убирает задержку на использование предметов.", category = Category.PLAYER)
public class NoUseDelay extends Module {
    @Subscribe
    public void onEvent(TickEvent e) {
        if (mc.player != null && mc.world != null) {
            ItemStack itemStack = mc.player.getHeldItemMainhand();
            if (itemStack.getItem() == Items.EXPERIENCE_BOTTLE || itemStack.getItem() == Items.SPLASH_POTION) {
                try {
                    Field field = Minecraft.class.getDeclaredField("rightClickDelayTimer");
                    field.setAccessible(true);
                    field.setInt(mc, 0);
                } catch (NoSuchFieldException | IllegalAccessException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
}
можно легче
в 2 строки кода
package ru.danq.client.gui.modules.player;

import ru.eventbus.pass.Subscribe

(соррян бро, больше не влазит)
 
Чёта не очень работает
Вот нормальный код

FastEXP:
Expand Collapse Copy
package dev.arahis.client.module.impl.player;

import dev.arahis.api.event.impl.player.UpdateEvent;
import dev.arahis.api.interfaces.event.Listener;
import dev.arahis.client.module.api.Category;
import dev.arahis.client.module.api.Module;
import dev.arahis.client.module.api.ModuleInfo;
import dev.arahis.impl.util.player.PlayerUtil;
import dev.arahis.impl.value.impl.BooleanValue;
import dev.arahis.impl.value.impl.NumberValue;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;

@ModuleInfo(name = "FastEXP", description = "Убирает задержку на использование опыта.", category = Category.PLAYER)
public class NoUseDelay extends Module {

    private final NumberValue delay = new NumberValue("Задержка", this, 0, 0, 3, 1);
    private final BooleanValue onlyNoPvp = new BooleanValue("Только без пвп", this, false);

    private final Listener<UpdateEvent> onUpdate = event -> {
        if (mc.player != null && mc.world != null) {
            if (onlyNoPvp.getValue() && PlayerUtil.isPvp()) {
                return;
            }
            ItemStack itemStack = mc.player.getHeldItemMainhand();
            if (itemStack.getItem() == Items.EXPERIENCE_BOTTLE) {
                mc.setRightClickDelayTimer(Math.min(mc.getRightClickDelayTimer(), this.delay.getValue().intValue()));
            }
        }
    };
}
 
Чёта не очень работает
Вот нормальный код

FastEXP:
Expand Collapse Copy
package dev.arahis.client.module.impl.player;

import dev.arahis.api.event.impl.player.UpdateEvent;
import dev.arahis.api.interfaces.event.Listener;
import dev.arahis.client.module.api.Category;
import dev.arahis.client.module.api.Module;
import dev.arahis.client.module.api.ModuleInfo;
import dev.arahis.impl.util.player.PlayerUtil;
import dev.arahis.impl.value.impl.BooleanValue;
import dev.arahis.impl.value.impl.NumberValue;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;

@ModuleInfo(name = "FastEXP", description = "Убирает задержку на использование опыта.", category = Category.PLAYER)
public class NoUseDelay extends Module {

    private final NumberValue delay = new NumberValue("Задержка", this, 0, 0, 3, 1);
    private final BooleanValue onlyNoPvp = new BooleanValue("Только без пвп", this, false);

    private final Listener<UpdateEvent> onUpdate = event -> {
        if (mc.player != null && mc.world != null) {
            if (onlyNoPvp.getValue() && PlayerUtil.isPvp()) {
                return;
            }
            ItemStack itemStack = mc.player.getHeldItemMainhand();
            if (itemStack.getItem() == Items.EXPERIENCE_BOTTLE) {
                mc.setRightClickDelayTimer(Math.min(mc.getRightClickDelayTimer(), this.delay.getValue().intValue()));
            }
        }
    };
}
хз у меня работает, но спасибо за предоставленный код
 
можно легче
в 2 строки кода
package ru.danq.client.gui.modules.player;

import ru.eventbus.pass.Subscribe

(соррян бро, больше не влазит)

ой а зачем здесь рефлексия? если у тебя мцп ты можешь ручками поменять private на public
если ты на фабрике то можешь просто акцессвайднер сделать или акцессор миксином
 
Назад
Сверху Снизу