-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Java:
@ModuleInfo(
name = "AutoTool",
category = Category.MISC,
description = "Какая то хуета под ногами"
)
@Getter
@Setter
public class AutoTool extends Module {
public int itemIndex;
private boolean swap;
private long swapDelay;
private final ItemStack swapedItem = null;
private final List<Integer> lastItem = new ArrayList<>();
@Getter
@Setter
public static EnumSet<AutoTool.ItemMode> itemModes = EnumSet.of(ItemMode.Save);
public enum ItemMode {
Swap,
Save
}
@Override
public void init() {
super.init();
addSetting("mode", new MultiEnumSetting<>("Swap Mode", this,AutoTool::getItemModes, AutoTool::setItemModes, AutoTool.ItemMode.class));
}
@EventLink()
public final Listener<PacketReceiveEvent> onPlayerUpdate = event -> {
if (mc.objectMouseOver.getType() != RayTraceResult.Type.BLOCK) return;
BlockRayTraceResult blockraytraceresult = (BlockRayTraceResult) mc.objectMouseOver;
BlockPos blockpos = blockraytraceresult.getPos();
List<Integer> bestItem = new ArrayList<>();
float bestSpeed = 1;
Block block = mc.world.getBlockState(blockpos).getBlock();
for (int i = 0; i < 9; i++) {
ItemStack item = mc.player.inventory.getStackInSlot(i);
float speed = item.getDestroySpeed(block.getDefaultState());
if (!(mc.player.inventory.getStackInSlot(i).getMaxDamage() - mc.player.inventory.getStackInSlot(i).getDamage() > 1) && itemModes.equals("Save"))
continue;
if (speed > bestSpeed) {
bestSpeed = speed;
bestItem.add(i);
}
}
bestItem.sort(Comparator.comparingDouble(x -> -mc.player.getDigSpeed(mc.world.getBlockState(blockpos), mc.player.inventory.getStackInSlot(x))));
List<Integer> canBreackIndex = bestItem.stream().filter(x -> mc.player.inventory.getStackInSlot(x).canHarvestBlock(mc.world.getBlockState(blockpos))).collect(Collectors.toList());
if (!canBreackIndex.isEmpty()) bestItem.set(0, canBreackIndex.get(0));
if (!bestItem.isEmpty() && mc.gameSettings.keyBindAttack.isKeyDown()) {
if (mc.player.inventory.getCurrentItem() != swapedItem) {
lastItem.add(mc.player.inventory.currentItem);
mc.player.inventory.currentItem = bestItem.get(0);
itemIndex = bestItem.get(0);
swap = true;
}
swapDelay = System.currentTimeMillis();
} else if (swap && !lastItem.isEmpty() && System.currentTimeMillis() >= swapDelay + 300 && itemModes.equals("Swap")) {
mc.player.inventory.currentItem = lastItem.get(0);
itemIndex = lastItem.get(0);
lastItem.clear();
swap = false;
}
};
}