-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
не бейте я первый раз на джаве кодил
умный режим чест стилера работает на основе рандома
делал для своей пасты
умный режим чест стилера работает на основе рандома
делал для своей пасты
ChestStealer.java:
package wtf.expensive.modules.impl.player;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.container.ChestContainer;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.Item;
import net.minecraft.item.Items;
import net.minecraft.util.text.TextFormatting;
import wtf.expensive.events.Event;
import wtf.expensive.events.impl.player.EventUpdate;
import wtf.expensive.managment.Managment;
import wtf.expensive.modules.Function;
import wtf.expensive.modules.FunctionAnnotation;
import wtf.expensive.modules.Type;
import wtf.expensive.modules.settings.imp.BooleanOption;
import wtf.expensive.modules.settings.imp.ModeSetting;
import wtf.expensive.modules.settings.imp.MultiBoxSetting;
import wtf.expensive.modules.settings.imp.SliderSetting;
import wtf.expensive.util.misc.TimerUtil;
import java.util.Random;
@FunctionAnnotation(name = "ChestStealer", type = Type.Player)
public class ChestStealer extends Function {
boolean doClick = false;
private final ModeSetting mode = new ModeSetting("Режим",
"Обычный",
"Обычный", "Умный"
);
private final BooleanOption msgs = new BooleanOption("Уведомления", true);
private final BooleanOption chestClose = new BooleanOption("Закрывать сундук если пустой", true);
private final SliderSetting stealDelay = new SliderSetting("Задержка лутания предмета (ms)", 100, 0, 1000, 1);
private final BooleanOption filterLootToggle = new BooleanOption("Фильтр лута", false).setVisible(() -> mode.is("Умный"));
private final MultiBoxSetting filterLoot = new MultiBoxSetting("Лутать",
new BooleanOption("Руду", true),
new BooleanOption("Сферы", false),
new BooleanOption("Незер слитки", false),
new BooleanOption("Чар книги", false),
new BooleanOption("Тотемы", false),
new BooleanOption("Зелья", false)
).setVisible(() -> mode.is("Умный") && filterLootToggle.get());
private final SliderSetting itemLimit = new SliderSetting("Лимит кол-ва предмета", 12, 1, 64, 1).setVisible(() -> mode.is("Умный"));
private final BooleanOption miss = new BooleanOption("Промахиваться", true).setVisible(() -> mode.is("Умный"));
private final SliderSetting missPercent = new SliderSetting("Шанс на промах", 50, 0, 100, 1).setVisible(() -> mode.is("Умный") && miss.get());
private final TimerUtil timerUtil = new TimerUtil();
public ChestStealer() { addSettings(mode, chestClose, stealDelay, filterLootToggle, filterLoot, itemLimit, miss, missPercent, msgs); }
private boolean FilterItem(Item item){
if(!filterLootToggle.get()) { return true; }
boolean b = true;
if(filterLoot.get(0)){
if(item == Items.DIAMOND_ORE || item == Items.EMERALD_ORE || item == Items.IRON_ORE || item == Items.GOLD_ORE || item == Items.COAL_ORE){ return true; } else { b = false; }
}
else if(filterLoot.get(1)){
if(item == Items.PLAYER_HEAD){ return true; } else { b = false; }
}
else if(filterLoot.get(2)){
if(item == Items.NETHERITE_INGOT){ return true; } else { b = false; }
}
else if(filterLoot.get(3)){
if(item == Items.ENCHANTED_BOOK){ return true; } else { b = false; }
}
else if(filterLoot.get(4)){
if(item == Items.TOTEM_OF_UNDYING){ return true; } else { b = false; }
}
else if(filterLoot.get(5)){
if(item == Items.POTION || item == Items.SPLASH_POTION){ return true; } else { b = false; }
}
else { b = false; }
return b;
}
@Override
public void onEvent(final Event event) {
if(mode.is("Обычный")) {
if (event instanceof EventUpdate) {
if (mc.player.openContainer instanceof ChestContainer) {
ChestContainer container = (ChestContainer) mc.player.openContainer;
for (int index = 0; index < container.inventorySlots.size(); ++index) {
if (container.getLowerChestInventory().getStackInSlot(index).getItem() != Item.getItemById(0)
&& timerUtil.hasTimeElapsed(stealDelay.getValue().longValue())) {
mc.playerController.windowClick(container.windowId, index, 0, ClickType.QUICK_MOVE, mc.player);
timerUtil.reset();
continue;
}
if (container.getLowerChestInventory().isEmpty() && chestClose.get()) {
mc.player.closeScreen();
}
}
}
}
}
else if(mode.is("Умный")){
if (event instanceof EventUpdate) {
if (mc.player.openContainer instanceof ChestContainer) {
ChestContainer container = (ChestContainer) mc.player.openContainer;
for (int r = 0; r < container.inventorySlots.size()/1.3; ++r) {
IInventory p = container.getLowerChestInventory();
int index = new Random().nextInt(0, container.inventorySlots.size());
if (index <= container.inventorySlots.size()) {
if(timerUtil.hasTimeElapsed(stealDelay.getValue().longValue())) {
if (p.getStackInSlot(index).getItem() != Item.getItemById(0)) {
if (p.getStackInSlot(index).getCount() <= itemLimit.getValue().intValue()) {
if (FilterItem(p.getStackInSlot(index).getItem())) {
if (miss.get()) { if (new Random().nextInt(0, 100) >= missPercent.getValue().intValue()) { doClick = true; } else { doClick = false; if(msgs.get()) { Managment.NOTIFICATION_MANAGER.add(TextFormatting.RED + "Мисснул" + TextFormatting.WHITE + " по предмету!", "ChestStealer", 2); } timerUtil.reset(); continue; } } else { doClick = true; }
if (doClick) { mc.playerController.windowClick(container.windowId, index, 0, ClickType.QUICK_MOVE, mc.player); } else { timerUtil.reset(); continue; }
timerUtil.reset();
continue;
} else { if(msgs.get()) { Managment.NOTIFICATION_MANAGER.add(TextFormatting.WHITE + "Предмет " + TextFormatting.RED + "не подошёл" + TextFormatting.WHITE + " по фильтру!", "ChestStealer", 2); } timerUtil.reset(); continue; }
}
}
if (container.getLowerChestInventory().isEmpty() && chestClose.get()) { mc.player.closeScreen(); }
}
}
}
}
}
}
}
}
Последнее редактирование: