• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Часть функционала ItemStacker | 1.16.5

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
16 Дек 2024
Сообщения
121
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
Desc - Автоматически стакует предметы (Shift-кликом) только при открытом инвентаре
ItemStacker:
Expand Collapse Copy
package eternis.main.module.list.misc;

import com.google.common.eventbus.Subscribe;
import eternis.events.EventUpdate;
import eternis.main.module.pip.Category;
import eternis.main.module.pip.Module;
import eternis.main.module.pip.ModuleRegister;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.client.gui.screen.inventory.InventoryScreen;

@ModuleRegister(name = "ItemStacker", type = Category.Misc, desc = "Автоматически стакует предметы (Shift-кликом) только при открытом инвентаре")
public class ItemStacker extends Module {
    private int delay = 0;
    @Subscribe
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;
        if (!(mc.currentScreen instanceof InventoryScreen)) return;
        if (delay > 0) {delay--;return;}
        ClientPlayerEntity player = mc.player;
        for (int slot1 = 0; slot1 < 36; slot1++) {
            ItemStack stack1 = player.inventory.getStackInSlot(slot1);
            if (stack1.isEmpty() || stack1.getCount() >= stack1.getMaxStackSize()) continue;
            for (int slot2 = slot1 + 1; slot2 < 36; slot2++) {
                ItemStack stack2 = player.inventory.getStackInSlot(slot2);
                if (stack2.isEmpty()) continue;
                if (ItemStack.areItemsEqual(stack1, stack2) &&
                        ItemStack.areItemStackTagsEqual(stack1, stack2)) {
                    mc.playerController.windowClick(player.openContainer.windowId, slot2, 0, ClickType.QUICK_MOVE, player);
                    delay = 5;
                    return;
                }}}}}
 
ss? или не нужен
 
я не понял че оно делает и как
Краткое описание (ИИ-агент) (?)
Модуль "ItemStacker" для Minecraft 1.16.5 автоматически стакует (объединяет в стопки) предметы, имитируя Shift-клик, но функционирует исключительно при открытом графическом интерфейсе инвентаря игрока. Его логика включает итерацию по слотам инвентаря для обнаружения одинаковых, неполных стопок предметов и пустых слотов, куда их можно переместить. Для стабилизации работы и предотвращения возможных проблем, между каждым автоматическим объединением предметов предусмотрена задержка в 5 тиков.
 
Desc - Автоматически стакует предметы (Shift-кликом) только при открытом инвентаре
ItemStacker:
Expand Collapse Copy
package eternis.main.module.list.misc;

import com.google.common.eventbus.Subscribe;
import eternis.events.EventUpdate;
import eternis.main.module.pip.Category;
import eternis.main.module.pip.Module;
import eternis.main.module.pip.ModuleRegister;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.client.gui.screen.inventory.InventoryScreen;

@ModuleRegister(name = "ItemStacker", type = Category.Misc, desc = "Автоматически стакует предметы (Shift-кликом) только при открытом инвентаре")
public class ItemStacker extends Module {
    private int delay = 0;
    @Subscribe
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;
        if (!(mc.currentScreen instanceof InventoryScreen)) return;
        if (delay > 0) {delay--;return;}
        ClientPlayerEntity player = mc.player;
        for (int slot1 = 0; slot1 < 36; slot1++) {
            ItemStack stack1 = player.inventory.getStackInSlot(slot1);
            if (stack1.isEmpty() || stack1.getCount() >= stack1.getMaxStackSize()) continue;
            for (int slot2 = slot1 + 1; slot2 < 36; slot2++) {
                ItemStack stack2 = player.inventory.getStackInSlot(slot2);
                if (stack2.isEmpty()) continue;
                if (ItemStack.areItemsEqual(stack1, stack2) &&
                        ItemStack.areItemStackTagsEqual(stack1, stack2)) {
                    mc.playerController.windowClick(player.openContainer.windowId, slot2, 0, ClickType.QUICK_MOVE, player);
                    delay = 5;
                    return;
                }}}}}
пиздец какой-то, нахуя такое делать если у вас уже буквально есть -
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Назад
Сверху Снизу