Вопрос Как исправить Item Cooldowns?

Начинающий
Статус
Оффлайн
Регистрация
10 Фев 2024
Сообщения
166
Реакции[?]
2
Поинты[?]
2K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Оно всегда пишет 00:00 хотя кд на предмет больше


Код:
package dev.arahis.client.module.impl.render;

import dev.arahis.api.event.impl.render.Render2DEvent;
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.font.Font;
import dev.arahis.impl.font.Fonts;
import dev.arahis.impl.util.animation.Animation;
import dev.arahis.impl.util.animation.Easing;
import dev.arahis.impl.util.render.RenderUtil;
import dev.arahis.impl.value.impl.DragValue;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import org.joml.Vector2d;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@ModuleInfo(name = "Cooldowns", description = "Отображает кд на предметы.", category = Category.RENDER)
public class Cooldowns extends Module {

    public final DragValue position = new DragValue("Position", this, new Vector2d(200, 200));
    private final Animation expandAnimation = new Animation(Easing.EASE_OUT_QUART, 100);
    private final Font interbold14 = Fonts.INTER_BOLD.get(14);
    private final Font interbold12 = Fonts.INTER_BOLD.get(12);
    private final Minecraft mc = Minecraft.getInstance();

    public final Listener<Render2DEvent> onRender2D = event -> {
        List<ItemStack> inventoryItems = mc.player.inventory.mainInventory;
        boolean hasCooldowns = inventoryItems.stream().anyMatch(itemStack -> mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()));

        String name = "Item Cooldowns";
        double width = position.size.x = Math.max(40 + interbold14.getWidth(name),
                inventoryItems.stream()
                        .filter(itemStack -> mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()))
                        .mapToDouble(itemStack -> interbold12.getWidth(itemStack.getDisplayName().getString()) + interbold12.getWidth(getCooldownTime(itemStack)) + 10)
                        .max()
                        .orElse(40 + interbold14.getWidth(name))
        );

        expandAnimation.run(position.size.y);

        double height = expandAnimation.getValue();
        double x = position.position.x;
        double y = position.position.y;
        if (mc.gameSettings.showDebugInfo) return;

        double expandedHeight = 14;
        position.size.y = expandedHeight;

        RenderUtil.renderClientRect(event.getMatrix(), (float) x, (float) y, (float) width, (float) height, hasCooldowns, expandedHeight);
        interbold14.drawCenter(event.getMatrix(), name, x + width / 2F, y + (expandedHeight / 2F) - (interbold14.getHeight() / 2F), -1);

        if (!hasCooldowns) return;

        Set<Item> procItems = new HashSet<>();
        int ofY = 0;

        for (ItemStack itemStack : inventoryItems) {
            if (mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()) && procItems.add(itemStack.getItem())) {

                interbold12.draw(event.getMatrix(), itemStack.getDisplayName().getString(), x + 5, y + 7 + interbold14.getHeight() + ofY, -1);
                interbold12.drawRight(event.getMatrix(),  getCooldownTime(itemStack), x + width - 5, y + 7 + interbold14.getHeight() + ofY, -1);
                ofY += 5;
                position.size.y = 10 + interbold14.getHeight() + ofY + 2;
            }
        }

    };

    private String getCooldownTime(ItemStack itemStack) {
        int remainingTicks = (int) mc.player.getCooldownTracker().getCooldown(itemStack.getItem(), 1);
        if (remainingTicks <= 0) return "00:00";

        int totalSeconds = remainingTicks / 20;
        int minutes = totalSeconds / 60;
        int seconds = totalSeconds % 60;

        return String.format("%02d:%02d", minutes, seconds);
    }

}
 
Модератор раздела «Создание читов Minecraft»
Модератор
Статус
Оффлайн
Регистрация
19 Авг 2021
Сообщения
113
Реакции[?]
13
Поинты[?]
11K
проверь правильность получения remainingTicks, если я правильно понял то параметр "1" после "itemStack.getItem()" - является partialTicks, то тебе нужно заменить "1", на получение partialTicks. В любом случае, проблема роется в строчке с remainingTicks
 
Начинающий
Статус
Оффлайн
Регистрация
3 Май 2023
Сообщения
444
Реакции[?]
2
Поинты[?]
2K
Оно всегда пишет 00:00 хотя кд на предмет больше


Код:
package dev.arahis.client.module.impl.render;

import dev.arahis.api.event.impl.render.Render2DEvent;
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.font.Font;
import dev.arahis.impl.font.Fonts;
import dev.arahis.impl.util.animation.Animation;
import dev.arahis.impl.util.animation.Easing;
import dev.arahis.impl.util.render.RenderUtil;
import dev.arahis.impl.value.impl.DragValue;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import org.joml.Vector2d;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@ModuleInfo(name = "Cooldowns", description = "Отображает кд на предметы.", category = Category.RENDER)
public class Cooldowns extends Module {

    public final DragValue position = new DragValue("Position", this, new Vector2d(200, 200));
    private final Animation expandAnimation = new Animation(Easing.EASE_OUT_QUART, 100);
    private final Font interbold14 = Fonts.INTER_BOLD.get(14);
    private final Font interbold12 = Fonts.INTER_BOLD.get(12);
    private final Minecraft mc = Minecraft.getInstance();

    public final Listener<Render2DEvent> onRender2D = event -> {
        List<ItemStack> inventoryItems = mc.player.inventory.mainInventory;
        boolean hasCooldowns = inventoryItems.stream().anyMatch(itemStack -> mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()));

        String name = "Item Cooldowns";
        double width = position.size.x = Math.max(40 + interbold14.getWidth(name),
                inventoryItems.stream()
                        .filter(itemStack -> mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()))
                        .mapToDouble(itemStack -> interbold12.getWidth(itemStack.getDisplayName().getString()) + interbold12.getWidth(getCooldownTime(itemStack)) + 10)
                        .max()
                        .orElse(40 + interbold14.getWidth(name))
        );

        expandAnimation.run(position.size.y);

        double height = expandAnimation.getValue();
        double x = position.position.x;
        double y = position.position.y;
        if (mc.gameSettings.showDebugInfo) return;

        double expandedHeight = 14;
        position.size.y = expandedHeight;

        RenderUtil.renderClientRect(event.getMatrix(), (float) x, (float) y, (float) width, (float) height, hasCooldowns, expandedHeight);
        interbold14.drawCenter(event.getMatrix(), name, x + width / 2F, y + (expandedHeight / 2F) - (interbold14.getHeight() / 2F), -1);

        if (!hasCooldowns) return;

        Set<Item> procItems = new HashSet<>();
        int ofY = 0;

        for (ItemStack itemStack : inventoryItems) {
            if (mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()) && procItems.add(itemStack.getItem())) {

                interbold12.draw(event.getMatrix(), itemStack.getDisplayName().getString(), x + 5, y + 7 + interbold14.getHeight() + ofY, -1);
                interbold12.drawRight(event.getMatrix(),  getCooldownTime(itemStack), x + width - 5, y + 7 + interbold14.getHeight() + ofY, -1);
                ofY += 5;
                position.size.y = 10 + interbold14.getHeight() + ofY + 2;
            }
        }

    };

    private String getCooldownTime(ItemStack itemStack) {
        int remainingTicks = (int) mc.player.getCooldownTracker().getCooldown(itemStack.getItem(), 1);
        if (remainingTicks <= 0) return "00:00";

        int totalSeconds = remainingTicks / 20;
        int minutes = totalSeconds / 60;
        int seconds = totalSeconds % 60;

        return String.format("%02d:%02d", minutes, seconds);
    }

}
Код:
package dev.arahis.client.module.impl.render;

import dev.arahis.api.event.impl.render.Render2DEvent;
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.font.Font;
import dev.arahis.impl.font.Fonts;
import dev.arahis.impl.util.animation.Animation;
import dev.arahis.impl.util.animation.Easing;
import dev.arahis.impl.util.render.RenderUtil;
import dev.arahis.impl.value.impl.DragValue;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import org.joml.Vector2d;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@ModuleInfo(name = "Cooldowns", description = "Отображает кд на предметы.", category = Category.RENDER)
public class Cooldowns extends Module {

    public final DragValue position = new DragValue("Position", this, new Vector2d(200, 200));
    private final Animation expandAnimation = new Animation(Easing.EASE_OUT_QUART, 100);
    private final Font interbold14 = Fonts.INTER_BOLD.get(14);
    private final Font interbold12 = Fonts.INTER_BOLD.get(12);
    private final Minecraft mc = Minecraft.getInstance();

    public final Listener<Render2DEvent> onRender2D = event -> {
        List<ItemStack> inventoryItems = mc.player.inventory.mainInventory;
        Set<Item> procItems = new HashSet<>();
        boolean hasCooldowns = inventoryItems.stream().anyMatch(itemStack -> mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()));

        if (mc.gameSettings.showDebugInfo || !hasCooldowns) return;

        String name = "Item Cooldowns";
        double width = position.size.x = Math.max(40 + interbold14.getWidth(name),
                inventoryItems.stream()
                        .filter(itemStack -> mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()))
                        .mapToDouble(itemStack -> interbold12.getWidth(itemStack.getDisplayName().getString()) + interbold12.getWidth(getCooldownTime(itemStack)) + 10)
                        .max()
                        .orElse(40 + interbold14.getWidth(name))
        );

        expandAnimation.run(position.size.y);
        double height = expandAnimation.getValue();
        double x = position.position.x;
        double y = position.position.y;

        RenderUtil.renderClientRect(event.getMatrix(), (float) x, (float) y, (float) width, (float) height, true, 14);
        interbold14.drawCenter(event.getMatrix(), name, x + width / 2F, y + 7, -1);

        int ofY = 0;
        for (ItemStack itemStack : inventoryItems) {
            if (mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()) && procItems.add(itemStack.getItem())) {
                String itemName = itemStack.getDisplayName().getString();
                String cooldown = getCooldownTime(itemStack);

                interbold12.draw(event.getMatrix(), itemName, x + 5, y + 21 + ofY, -1);
                interbold12.drawRight(event.getMatrix(), cooldown, x + width - 5, y + 21 + ofY, -1);

                ofY += interbold12.getHeight() + 2;
                position.size.y = 21 + ofY;
            }
        }
    };

    private String getCooldownTime(ItemStack itemStack) {
        int remainingTicks = mc.player.getCooldownTracker().getCooldown(itemStack.getItem(), mc.getRenderPartialTicks());
        if (remainingTicks <= 0) return "00:00";

        int seconds = remainingTicks / 20;
        return String.format("%02d:%02d", seconds / 60, seconds % 60);
    }
}
пробуй арахис
 
Начинающий
Статус
Оффлайн
Регистрация
10 Фев 2024
Сообщения
166
Реакции[?]
2
Поинты[?]
2K
Код:
package dev.arahis.client.module.impl.render;

import dev.arahis.api.event.impl.render.Render2DEvent;
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.font.Font;
import dev.arahis.impl.font.Fonts;
import dev.arahis.impl.util.animation.Animation;
import dev.arahis.impl.util.animation.Easing;
import dev.arahis.impl.util.render.RenderUtil;
import dev.arahis.impl.value.impl.DragValue;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import org.joml.Vector2d;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@ModuleInfo(name = "Cooldowns", description = "Отображает кд на предметы.", category = Category.RENDER)
public class Cooldowns extends Module {

    public final DragValue position = new DragValue("Position", this, new Vector2d(200, 200));
    private final Animation expandAnimation = new Animation(Easing.EASE_OUT_QUART, 100);
    private final Font interbold14 = Fonts.INTER_BOLD.get(14);
    private final Font interbold12 = Fonts.INTER_BOLD.get(12);
    private final Minecraft mc = Minecraft.getInstance();

    public final Listener<Render2DEvent> onRender2D = event -> {
        List<ItemStack> inventoryItems = mc.player.inventory.mainInventory;
        Set<Item> procItems = new HashSet<>();
        boolean hasCooldowns = inventoryItems.stream().anyMatch(itemStack -> mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()));

        if (mc.gameSettings.showDebugInfo || !hasCooldowns) return;

        String name = "Item Cooldowns";
        double width = position.size.x = Math.max(40 + interbold14.getWidth(name),
                inventoryItems.stream()
                        .filter(itemStack -> mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()))
                        .mapToDouble(itemStack -> interbold12.getWidth(itemStack.getDisplayName().getString()) + interbold12.getWidth(getCooldownTime(itemStack)) + 10)
                        .max()
                        .orElse(40 + interbold14.getWidth(name))
        );

        expandAnimation.run(position.size.y);
        double height = expandAnimation.getValue();
        double x = position.position.x;
        double y = position.position.y;

        RenderUtil.renderClientRect(event.getMatrix(), (float) x, (float) y, (float) width, (float) height, true, 14);
        interbold14.drawCenter(event.getMatrix(), name, x + width / 2F, y + 7, -1);

        int ofY = 0;
        for (ItemStack itemStack : inventoryItems) {
            if (mc.player.getCooldownTracker().hasCooldown(itemStack.getItem()) && procItems.add(itemStack.getItem())) {
                String itemName = itemStack.getDisplayName().getString();
                String cooldown = getCooldownTime(itemStack);

                interbold12.draw(event.getMatrix(), itemName, x + 5, y + 21 + ofY, -1);
                interbold12.drawRight(event.getMatrix(), cooldown, x + width - 5, y + 21 + ofY, -1);

                ofY += interbold12.getHeight() + 2;
                position.size.y = 21 + ofY;
            }
        }
    };

    private String getCooldownTime(ItemStack itemStack) {
        int remainingTicks = mc.player.getCooldownTracker().getCooldown(itemStack.getItem(), mc.getRenderPartialTicks());
        if (remainingTicks <= 0) return "00:00";

        int seconds = remainingTicks / 20;
        return String.format("%02d:%02d", seconds / 60, seconds % 60);
    }
}
пробуй арахис
Всё равно пишет 00:00
 
Сверху Снизу