Как можно реализовать автобай для фт/хв?
Про фт более менее понятно, надо чекнуть какой это предмет есть ли он в конфиге и цену покупки - а после покупает
1.Как сделать под хв? там вообще окуп делать аб?
2.Как реализовать проверку на предмет? Фт
3.Как сделать проверку на аукцион? (по сути можно cделать так но я хз норм или не -
mc.currentScreen.getTitle().getString().contains("Аукцион"))
4.Где взять новые предметы с фт
У меня база ТХ 1.21, раньше была 1.16.5 forge

(не понимаю базу тх)
Ну по сути можно перенести АБ с тх 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 сорри Если Не надо было Не бейте