Вопрос FT helper || Forge 1.16.5 || создаёт фантом предметы

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
16 Дек 2024
Сообщения
3
Реакции
0

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

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

Спасибо!

По какой-то причине когда перекладывает с инвенторя в хотбар создаёт фантом предмет

package org.example.green.example;

import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.client.event.InputEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.common.MinecraftForge;
import org.lwjgl.glfw.GLFW;


@Mod("timeconverter")
public class FTHelp {
Minecraft mc = Minecraft.getInstance();

public FTHelp() {
MinecraftForge.EVENT_BUS.register(this);
}

@SubscribeEvent
public void onKeyInput(InputEvent.KeyInputEvent event) {
if (mc.screen != null) return;
if (event.getKey() == GLFW.GLFW_KEY_Z && event.getAction() == GLFW.GLFW_PRESS) {
useItem(Items.ENDER_PEARL, "Использовал Дезориентацию", "Дезориентация не найдена");
}
}

@SubscribeEvent
public void onMouseInput(InputEvent.MouseInputEvent event) {
if (mc.screen != null) return;
if (event.getButton() == GLFW.GLFW_KEY_N && event.getAction() == GLFW.GLFW_PRESS) {
useItem(Items.ENDER_EYE, "Использовал Трапку", "Трапка не найдена");
}
}

private void useItem(Item item, String successMessage, String failureMessage) {
System.out.println("Вызван метод useItem для " + item.getRegistryName());

if (mc.player == null || mc.level == null) {
System.out.println("Игрок или уровень не найдены");
return;
}

int hotbarSlot = mc.player.inventory.selected;
int targetSlot = -1;
for (int i = 0; i < 36; i++) {
if (mc.player.inventory.getItem(i).getItem() == item) {
targetSlot = i;
break;
}
}

if (targetSlot != -1) {
if (targetSlot < 9) {
if (targetSlot != hotbarSlot) {
mc.player.inventory.selected = targetSlot;
mc.player.inventory.setChanged();
}
mc.gameMode.useItem(mc.player, mc.level, Hand.MAIN_HAND);
} else {
int targetHotbarSlot = 8;
ItemStack stack = mc.player.inventory.getItem(targetSlot).copy();
mc.player.inventory.removeItem(targetSlot, 1);
mc.player.inventory.setItem(targetHotbarSlot, stack);
mc.player.inventory.selected = targetHotbarSlot;
mc.player.inventory.setChanged();
mc.gameMode.useItem(mc.player, mc.level, Hand.MAIN_HAND);
mc.player.inventory.selected = hotbarSlot;
mc.player.inventory.setChanged();
}
sendMessage(successMessage);
} else {
sendMessage(failureMessage);
}
}

private void sendMessage(String message) {
mc.player.displayClientMessage(
new StringTextComponent("")
.append(new StringTextComponent(" [UPI] ").withStyle(TextFormatting.DARK_GRAY))
.append(new StringTextComponent(message).withStyle(TextFormatting.GRAY)),
false
);
}
}
 
ну ээээ потому што эээ
 
Назад
Сверху Снизу