Начинающий
- Статус
- Оффлайн
- Регистрация
- 14 Ноя 2021
- Сообщения
- 5
- Реакции
- 0
- Выберите загрузчик игры
- OptiFine
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
мой первый пост чутка
вообщем, autoloot
имеется 2 режима:
holyworld ship
лутает отмычки у жителя на таинственном корабле
ST Teleport
ну тплут вообщем для spookytime
кое как работает но работает.
есть режимы
что делать после подбора ресурсов:
/hub
/spawn
что подбирать?
режимы вообщем что подбирать с st teleport
на этом все
БАЗА EXCELLENT OMNI НЕ RECODE!!!
одна из первых работ на excellent omni
SS?:

вообщем, autoloot
имеется 2 режима:
holyworld ship
лутает отмычки у жителя на таинственном корабле
ST Teleport
ну тплут вообщем для spookytime
кое как работает но работает.
есть режимы
что делать после подбора ресурсов:
/hub
/spawn
что подбирать?
режимы вообщем что подбирать с st teleport
на этом все
БАЗА EXCELLENT OMNI НЕ RECODE!!!
одна из первых работ на excellent omni
Код:
package org.sheluvparis.excellent.client.impl.feature.impl.player;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.merchant.villager.VillagerEntity;
import net.minecraft.item.*;
import net.minecraft.util.Hand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import org.sheluvparis.common.events.orbit.EventHandler;
import org.sheluvparis.excellent.client.events.player.MotionEvent;
import org.sheluvparis.excellent.client.impl.feature.Category;
import org.sheluvparis.excellent.client.impl.feature.Feature;
import org.sheluvparis.excellent.client.impl.feature.FeatureInfo;
import org.sheluvparis.excellent.client.impl.settings.impl.BooleanSetting;
import org.sheluvparis.excellent.client.impl.settings.impl.ModeSetting;
import org.sheluvparis.excellent.client.impl.settings.impl.SliderSetting;
import java.util.*;
@Getter
@Accessors(fluent = true)
@FieldDefaults(level = AccessLevel.PRIVATE)
@FeatureInfo(name = "AutoLoot", description = "Автоматически подбирает ценные предметы", category = Category.PLAYER)
public class AutoLoot extends Feature {
private final ModeSetting serverMode = new ModeSetting("Режим сервера", "ST Teleport", "Holyworld ship");
private final SliderSetting distance = new SliderSetting("Дистанция поиска", 15.0F, 8.0F, 20.0F, 1.0F)
.visible(() -> serverMode.is("ST Teleport"));
private final SliderSetting accuracy = new SliderSetting("Аккуратность", 35.0F, 32.0F, 40.0F, 1.0F)
.visible(() -> serverMode.is("ST Teleport"));
private final SliderSetting teleportStep = new SliderSetting("Скорость", 5.0F, 1.0F, 10.0F, 0.5F)
.visible(() -> serverMode.is("ST Teleport"));
private final SliderSetting teleportDelay = new SliderSetting("Задержка", 100.0F, 0.0F, 500.0F, 10.0F)
.visible(() -> serverMode.is("ST Teleport"));
private final ModeSetting afterLootCommand = new ModeSetting("После сбора", "Нет", "/hub", "/spawn");
private final ModeSetting lootItems = new ModeSetting("Предметы", "Все", "Только броня/оружие", "Только ресурсы", "Только особые", "Пользовательские")
.visible(() -> !serverMode.is("Holyworld ship"));
private final BooleanSetting lootTotems = new BooleanSetting("Тотемы", true)
.visible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
private final BooleanSetting lootNetheriteArmor = new BooleanSetting("Незеритовая броня", true)
.visible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
private final BooleanSetting lootNetheriteTools = new BooleanSetting("Незеритовые инструменты", true)
.visible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
private final BooleanSetting lootGoldenApples = new BooleanSetting("Золотые яблоки", true)
.visible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
private final BooleanSetting lootPlayerHeads = new BooleanSetting("Головы игроков", true)
.visible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
private final BooleanSetting lootShulkerBoxes = new BooleanSetting("Шалкеровые ящики", true)
.visible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
private final BooleanSetting lootNetheriteIngots = new BooleanSetting("Незеритовые слитки", true)
.visible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
private final BooleanSetting lootPotions = new BooleanSetting("Зелья", true)
.visible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
private final BooleanSetting lootSpookyItems = new BooleanSetting("Особые предметы", true)
.visible(() -> lootItems.is("Пользовательские") && !serverMode.is("Holyworld ship"));
private List<UUID> collectedItems = new ArrayList<>();
private boolean commandSent = false;
private int waitTicks = 0;
private boolean itemsCollected = false;
private int activationDelay = 5; // Задержка активации в тиках
private Vector3d teleportTarget = null;
private long lastTeleportTime = 0L;
private boolean isTeleporting = false;
private boolean allItemsCollected = false;
public AutoLoot() {
}
@EventHandler
public void onMotion(MotionEvent event) {
if (mc.player == null || mc.world == null) return;
if (activationDelay > 0) {
activationDelay--;
return;
}
if (serverMode.is("Holyworld ship")) {
handleHolyworldShip();
} else if (serverMode.is("ST Teleport")) {
handleSTTeleport();
}
checkAndSendCommand();
}
private void checkAndSendCommand() {
if (isTeleporting) return;
if (commandSent || afterLootCommand.get().equals("Нет")) return;
List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(ItemEntity.class,
mc.player.getBoundingBox().grow(distance.get()));
boolean foundValuableItems = false;
for (ItemEntity itemEntity : nearbyItems) {
if (isValuableItem(itemEntity.getItem()) && !collectedItems.contains(itemEntity.getUniqueID())) {
foundValuableItems = true;
break;
}
}
if (!foundValuableItems && !collectedItems.isEmpty()) {
itemsCollected = true;
}
if (itemsCollected) {
waitTicks++;
{
String command = afterLootCommand.get();
if (command.equals("/hub") || command.equals("/spawn")) {
mc.player.sendChatMessage(command);
commandSent = true;
// Уведомляем игрока
mc.player.sendMessage(
new StringTextComponent("AutoLoot >> " + TextFormatting.GRAY +
"Ресурсы собраны. Отправляюсь " + command),
mc.player.getUniqueID()
);
toggle();
}
itemsCollected = false;
waitTicks = 0;
}
}
}
private void handleHolyworldShip() {
AxisAlignedBB boundingBox = new AxisAlignedBB(
mc.player.getPosX() - 3.0, mc.player.getPosY() - 3.0, mc.player.getPosZ() - 3.0,
mc.player.getPosX() + 3.0, mc.player.getPosY() + 3.0, mc.player.getPosZ() + 3.0
);
for (Entity entity : mc.world.getEntitiesWithinAABB(VillagerEntity.class, boundingBox)) {
if (entity instanceof VillagerEntity) {
VillagerEntity villager = (VillagerEntity) entity;
if (villager.getHeldItemMainhand().getItem() == Items.TRIPWIRE_HOOK ||
villager.getHeldItemOffhand().getItem() == Items.TRIPWIRE_HOOK) {
mc.playerController.interactWithEntity(mc.player, villager, Hand.MAIN_HAND);
return;
}
}
}
}
private void handleSTTeleport() {
if (!mc.player.abilities.isFlying) {
if (!mc.player.abilities.allowFlying) {
mc.player.sendChatMessage("/fly");
return;
} else {
mc.player.abilities.isFlying = true;
}
}
if (isTeleporting && teleportTarget != null) {
performStepTeleport();
return;
}
List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(ItemEntity.class,
mc.player.getBoundingBox().grow(distance.get()));
Map<BlockPos, List<ItemEntity>> itemGroups = new HashMap<>();
boolean foundNewItems = false;
for (ItemEntity itemEntity : nearbyItems) {
if (itemEntity.ticksExisted >= accuracy.get() &&
isValuableItem(itemEntity.getItem()) &&
!collectedItems.contains(itemEntity.getUniqueID())) {
foundNewItems = true;
BlockPos pos = new BlockPos(itemEntity.getPosX(), itemEntity.getPosY(), itemEntity.getPosZ());
itemGroups.computeIfAbsent(pos, k -> new ArrayList<>()).add(itemEntity);
}
}
List<ItemEntity> largestGroup = null;
for (List<ItemEntity> group : itemGroups.values()) {
if (largestGroup == null || group.size() > largestGroup.size()) {
largestGroup = group;
}
}
if (largestGroup != null && !largestGroup.isEmpty()) {
double centerX = 0;
double centerY = 0;
double centerZ = 0;
for (ItemEntity item : largestGroup) {
centerX += item.getPosX();
centerY += item.getPosY();
centerZ += item.getPosZ();
collectedItems.add(item.getUniqueID());
}
centerX /= largestGroup.size();
centerY /= largestGroup.size();
centerZ /= largestGroup.size();
teleportTarget = new Vector3d(centerX, centerY, centerZ);
isTeleporting = true;
lastTeleportTime = System.currentTimeMillis();
} else if (!foundNewItems && !collectedItems.isEmpty()) {
allItemsCollected = true;
}
}
private void performStepTeleport() {
if (teleportTarget == null || !isTeleporting) return;
long currentTime = System.currentTimeMillis();
long delay = (long) (float) teleportDelay.get();
if (currentTime - lastTeleportTime < delay) {
return;
}
Vector3d currentPos = mc.player.getPositionVec();
Vector3d direction = teleportTarget.subtract(currentPos);
double distToTarget = direction.length();
if (distToTarget < 1.0) {
mc.player.setPosition(teleportTarget.x, teleportTarget.y, teleportTarget.z);
teleportTarget = null;
isTeleporting = false;
return;
}
double stepSize = Math.min(teleportStep.get(), distToTarget);
Vector3d normalizedDirection = direction.normalize();
Vector3d nextPos = currentPos.add(normalizedDirection.scale(stepSize));
mc.player.setPosition(nextPos.x, nextPos.y, nextPos.z);
lastTeleportTime = currentTime;
}
private boolean isValuableItem(ItemStack itemStack) {
Item item = itemStack.getItem();
String lootMode = lootItems.get();
if (lootMode.equals("Все")) {
return true;
} else if (lootMode.equals("Только броня/оружие")) {
return item == Items.TOTEM_OF_UNDYING ||
item == Items.NETHERITE_HELMET || item == Items.NETHERITE_CHESTPLATE ||
item == Items.NETHERITE_LEGGINGS || item == Items.NETHERITE_BOOTS ||
item == Items.NETHERITE_SWORD || item == Items.NETHERITE_PICKAXE;
} else if (lootMode.equals("Только ресурсы")) {
return item == Items.NETHERITE_INGOT ||
item == Items.GOLDEN_APPLE || item == Items.ENCHANTED_GOLDEN_APPLE ||
item instanceof SplashPotionItem || item instanceof PotionItem;
} else if (lootMode.equals("Только особые")) {
return item == Items.PLAYER_HEAD ||
item == Items.SHULKER_BOX ||
(itemStack.hasTag() && itemStack.getTag().contains("spooky-item"));
} else if (lootMode.equals("Пользовательские")) {
if (item == Items.TOTEM_OF_UNDYING && lootTotems.get()) return true;
if ((item == Items.NETHERITE_HELMET || item == Items.NETHERITE_CHESTPLATE ||
item == Items.NETHERITE_LEGGINGS || item == Items.NETHERITE_BOOTS) && lootNetheriteArmor.get()) return true;
if ((item == Items.NETHERITE_SWORD || item == Items.NETHERITE_PICKAXE) && lootNetheriteTools.get()) return true;
if ((item == Items.GOLDEN_APPLE || item == Items.ENCHANTED_GOLDEN_APPLE) && lootGoldenApples.get()) return true;
if (item == Items.PLAYER_HEAD && lootPlayerHeads.get()) return true;
if (item == Items.SHULKER_BOX && lootShulkerBoxes.get()) return true;
if (item == Items.NETHERITE_INGOT && lootNetheriteIngots.get()) return true;
if ((item instanceof SplashPotionItem || item instanceof PotionItem) && lootPotions.get()) return true;
if ((itemStack.hasTag() && itemStack.getTag().contains("spooky-item")) && lootSpookyItems.get()) return true;
}
return false;
}
@Override
protected void onEnable() {
collectedItems.clear();
commandSent = false;
waitTicks = 0;
itemsCollected = false;
teleportTarget = null;
isTeleporting = false;
lastTeleportTime = 0L;
allItemsCollected = false;
if (serverMode.is("ST Teleport") && !mc.player.abilities.isFlying && !mc.player.abilities.allowFlying) {
mc.player.sendChatMessage("/fly");
}
}
@Override
protected void onDisable() {
collectedItems.clear();
commandSent = false;
waitTicks = 0;
itemsCollected = false;
teleportTarget = null;
isTeleporting = false;
lastTeleportTime = 0L;
allItemsCollected = false;
}
}
Пожалуйста, авторизуйтесь для просмотра ссылки.
