-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Дня два назад написал ItemSwap по просьбе Wermetista как он работает он работает по принципу ElytraSwapFunction т.е по нажатию вашего бинда будет менятся с гепла на щит и так далее бинды поставить и на геплы на щит и на зачерованое золотое яблоко например вы поставили бинд на NumPad 7 (щит) и NumPad 8 (гепл) и вот пример вам сбили щит вы нажимаете на NumPad 8 и оно свапает на гепл и т.д вот код
ItemSwap:
package wtf.expensive.modules.impl.util;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.text.TextFormatting;
import wtf.expensive.events.Event;
import wtf.expensive.events.impl.game.EventKey;
import wtf.expensive.modules.Function;
import wtf.expensive.modules.FunctionAnnotation;
import wtf.expensive.modules.Type;
import wtf.expensive.modules.settings.imp.BindSetting;
import wtf.expensive.modules.settings.imp.BooleanOption;
import wtf.expensive.util.ClientUtil;
import wtf.expensive.util.world.InventoryUtil;
@FunctionAnnotation(name = "ItemSwap", type = Type.Util)
public class ItemSwap extends Function {
private BindSetting swapToShieldKey = new BindSetting("Кнопка замены на щит", 0);
private BindSetting swapToGoldenAppleKey = new BindSetting("Кнопка замены на золотое яблоко", 0);
private BindSetting swapToEnchGoldenAppleKey = new BindSetting("Кнопка замены на зачарованное золотое яблоко", 0);
private ItemStack oldStack = null;
private BooleanOption notification = new BooleanOption("Оповещение", true);
public ItemSwap() {
addSettings(swapToShieldKey, swapToGoldenAppleKey, swapToEnchGoldenAppleKey, notification);
}
@Override
public void onEvent(Event event) {
if (event instanceof EventKey e) {
if (e.key == swapToShieldKey.getKey()) {
swapItem(Items.SHIELD, "Щит");
}
if (e.key == swapToGoldenAppleKey.getKey()) {
swapItem(Items.GOLDEN_APPLE, "Золотое яблоко");
}
if (e.key == swapToEnchGoldenAppleKey.getKey()) {
swapItem(Items.ENCHANTED_GOLDEN_APPLE, "Зачарованное золотое яблоко");
}
}
}
private void swapItem(Item desiredItem, String itemName) {
int itemSlot = InventoryUtil.getItemSlot(desiredItem);
if (itemSlot == -1) {
ClientUtil.sendMesage(TextFormatting.RED + itemName + " не найден в инвентаре!");
return;
}
if (mc.player.getHeldItemOffhand().getItem() != desiredItem) {
oldStack = mc.player.getHeldItemOffhand().copy();
InventoryUtil.moveItem(itemSlot, 45, true);
if (notification.get()) {
ClientUtil.sendMesage(TextFormatting.RED + "Свапнул на " + itemName + " в левую руку!");
}
} else if (oldStack != null) {
int oldStackSlot = InventoryUtil.getItemSlot(oldStack.getItem());
InventoryUtil.moveItem(oldStackSlot, 45, true);
if (notification.get()) {
ClientUtil.sendMesage(TextFormatting.RED + "Свапнул обратно в левую руку!");
}
oldStack = null;
}
}
}