Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос AutoBuy как реализовать

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
6 Янв 2024
Сообщения
65
Реакции
1
Как можно реализовать автобай для фт/хв?

Про фт более менее понятно, надо чекнуть какой это предмет есть ли он в конфиге и цену покупки - а после покупает


1.Как сделать под хв? там вообще окуп делать аб?

2.Как реализовать проверку на предмет? Фт

3.Как сделать проверку на аукцион? (по сути можно cделать так но я хз норм или не -

mc.currentScreen.getTitle().getString().contains("Аукцион"))

4.Где взять новые предметы с фт

У меня база ТХ 1.21, раньше была 1.16.5 forge:roflanPominki:(не понимаю базу тх)
Ну по сути можно перенести АБ с тх 1.20.1 добавить проверку на айтем только незнаю как ее реализовать
Перенести с другого клиента не могу, я не знаю каким чудом это работает

А и еще, как можно сделать конфиг для автобая?

И саму менюшку для АБ чтобы выбирать какие предметы

Или можно сделать с самого тандер хака? С помощью ItemSelectSetting
 
Как можно реализовать автобай для фт/хв?

Про фт более менее понятно, надо чекнуть какой это предмет есть ли он в конфиге и цену покупки - а после покупает


1.Как сделать под хв? там вообще окуп делать аб?

2.Как реализовать проверку на предмет? Фт

3.Как сделать проверку на аукцион? (по сути можно cделать так но я хз норм или не -

mc.currentScreen.getTitle().getString().contains("Аукцион"))

4.Где взять новые предметы с фт

У меня база ТХ 1.21, раньше была 1.16.5 forge:roflanPominki:(не понимаю базу тх)
Ну по сути можно перенести АБ с тх 1.20.1 добавить проверку на айтем только незнаю как ее реализовать
Перенести с другого клиента не могу, я не знаю каким чудом это работает

А и еще, как можно сделать конфиг для автобая?

И саму менюшку для АБ чтобы выбирать какие предметы

Или можно сделать с самого тандер хака? С помощью ItemSelectSetting
в планее предметы можно Типо Зелье Можно Добавить с помощью
package im.expensive.functions.impl.misc.autobuy;

public class PotionEffectMatcher {
public final int id;
public final int amplifier;
public final int duration; // иут крч игнор -1 типо

public PotionEffectMatcher(int id, int amplifier, int duration) {
this.id = id;
this.amplifier = amplifier;
this.duration = duration;
}

public PotionEffectMatcher(int id, int amplifier) {
this(id, amplifier, -1);
}
}
и т д тп можно так же добавить Зачары

package im.expensive.functions.impl.misc.autobuy;

import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.enchantment.Enchantments;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.registry.Registry;

import java.util.Map;

public class Enchant {
public final Enchantment enchantment;
public final int level;
public final String customName;
public final boolean isCustom;

public Enchant(Enchantment enchantment, int level) {
this.enchantment = enchantment;
this.level = level;
this.customName = null;
this.isCustom = false;
}

public Enchant(String customName, int level) {
this.enchantment = null;
this.level = level;
this.customName = customName;
this.isCustom = true;
}

public boolean has(ItemStack item) {
if (item == null) return false;

if (isCustom) {
CompoundNBT tag = item.getTag();
if (tag == null) return false;
String levelStr = String.valueOf(level)
.replace("1", "I")
.replace("2", "II")
.replace("3", "III")
.replace("-1", "");
return tag.toString().contains(customName + (levelStr.isEmpty() ? "" : " " + levelStr));
}

if (enchantment == null) return false;

if (item.getItem() == Items.ENCHANTED_BOOK) {
ListNBT enchList = Items.ENCHANTED_BOOK.getEnchantments(item);
for (int i = 0; i < enchList.size(); i++) {
CompoundNBT ench = enchList.getCompound(i);
String enchId = ench.getString("id");
int enchLvl = ench.getShort("lvl");

ResourceLocation expectedId = Registry.ENCHANTMENT.getKey(enchantment);
if (enchId.equals(expectedId.toString()) && (level == -1 || enchLvl >= level)) {
return true;
}
}
return false;
}

Map<Enchantment, Integer> enchantments = EnchantmentHelper.getEnchantments(item);
if (level == -1) {
return enchantments.containsKey(enchantment);
}
return enchantments.getOrDefault(enchantment, 0) >= level;
}
} что то типо такое и Главные Калссы а именно AutoBuyScreen, AutoBuySystem , AutoBuyItem типо такое

new AutoBuyItemClass("Шалкеровый ящик", 0, Items.SHULKER_BOX),

ну и главный класс AutoBuy сорри Если Не надо было Не бейте
 
Назад
Сверху Снизу