-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Хз Кому Надо За util Писать вы дс Ril1k Всем Удачы
Код:
package im.expensive.functions.impl.combat;
import com.google.common.eventbus.Subscribe;
import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.ui.NotificationManager;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.ui.NotificationManager;
import im.expensive.utils.notifications.NotificationUtil;
import im.expensive.utils.player.InventoryUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector2f;
import net.minecraft.world.World;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@FunctionRegister(name = "ElytraTarget", type = Category.Combat)
public class ElytraTarget extends Function {
private Set<PlayerEntity> targetedPlayers = new HashSet<>();
private boolean isTargeting = false;
private long lastFireworkTime = 0;
private long fireworkCooldown = 750; // Изначальный кулдаун
private long lastChatMessageTime = 0;
private long chatMessageInterval = 5000; // Интервал между сообщениями в чат
public Vector2f rotate = new Vector2f(0.0f, 0.0f);
private BooleanSetting save = new BooleanSetting("Безопасность", true);
private BooleanSetting autofirework = new BooleanSetting("Авто-Фейерверк", true);
private BooleanSetting deadtoggle = new BooleanSetting("Оключать при смерти таргета",true);
private SliderSetting distanse = new SliderSetting("Дистанция",50,5,50,1);
private SliderSetting hptoggle = new SliderSetting("Хп для отключение",6,0,20,1).setVisible(() -> save.get());
public ElytraTarget() {
addSettings(save,autofirework,deadtoggle,distanse,hptoggle);
}
@Subscribe
private void onUpdate(EventUpdate e) {
if (Minecraft.getInstance().player.isElytraFlying()) {
if (!isTargeting) {
targetPlayer();
} else {
updateRotationToPlayer();
useFirework();
checkChatMessage();
}
} else if (isTargeting) {
stopTargeting();
}
}
private void targetPlayer() {
World world = Minecraft.getInstance().world;
if (world != null) {
List<Entity> entities = world.getEntitiesWithinAABBExcludingEntity(Minecraft.getInstance().player,
new AxisAlignedBB(Minecraft.getInstance().player.getPosX() - 10, Minecraft.getInstance().player.getPosY() - 5, Minecraft.getInstance().player.getPosZ() - 10,
Minecraft.getInstance().player.getPosX() + 10, Minecraft.getInstance().player.getPosY() + 5, Minecraft.getInstance().player.getPosZ() + 10));
for (Entity entity : entities) {
if (entity instanceof PlayerEntity && entity.isAlive()) {
PlayerEntity target = (PlayerEntity) entity;
if (!targetedPlayers.contains(target)) {
targetedPlayers.clear();
targetedPlayers.add(target);
isTargeting = true;
setRotationToPlayer(target);
return;
}
}
}
}
}
private void setRotationToPlayer(PlayerEntity player) {
if (player!= null) {
double deltaX = player.getPosX() - Minecraft.getInstance().player.getPosX();
double deltaZ = player.getPosZ() - Minecraft.getInstance().player.getPosZ();
double deltaY = player.getPosY() - Minecraft.getInstance().player.getPosY();
double yaw = Math.toDegrees(Math.atan2(deltaZ, deltaX)) - 90;
double pitch = -Math.toDegrees(Math.atan2(deltaY, Math.sqrt(deltaX * deltaX + deltaZ * deltaZ)));
Minecraft.getInstance().player.rotationYaw = (float) yaw;
Minecraft.getInstance().player.rotationPitch = (float) pitch;
}
}
private void updateRotationToPlayer() {
if (!targetedPlayers.isEmpty()) {
PlayerEntity target = targetedPlayers.iterator().next();
setRotationToPlayer(target);
}
}
private void useFirework() {
long currentTime = System.currentTimeMillis();
if (((Boolean) this.autofirework.get()).booleanValue() && currentTime - lastFireworkTime >= fireworkCooldown) {
int hbSlot = InventoryUtil.getInstance().getSlotInInventoryOrHotbar(Items.FIREWORK_ROCKET, true);
int invSlot = InventoryUtil.getInstance().getSlotInInventoryOrHotbar(Items.FIREWORK_ROCKET, false);
if (invSlot == -1 && hbSlot == -1) {
NotificationUtil.NOTIFICATION_MANAGER.add("Феерверки не найдены", "", 2, NotificationManager.ImageType.FIRST_PHOTO);
return;
}
// Сохраняем текущий выбранный слот
int currentSlot = Minecraft.getInstance().player.inventory.currentItem;
// Переключаемся на слот с фейерверком
Minecraft.getInstance().player.connection.sendPacket(new CHeldItemChangePacket(hbSlot));
// Используем фейерверк
Minecraft.getInstance().player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
// Возвращаемся к предыдущему слоту
Minecraft.getInstance().player.connection.sendPacket(new CHeldItemChangePacket(currentSlot));
// Обновляем время последнего использования фейерверка
lastFireworkTime = currentTime;
// Обновляем кулдаун в зависимости от расстояния до цели
double distanceToTarget = Minecraft.getInstance().player.getDistance(targetedPlayers.iterator().next());
if (distanceToTarget > distanse.get()) {
fireworkCooldown = 300; // Уменьшаем кулдаун, если цель дальше 50 блоков
} else {
fireworkCooldown = 200; // Возвращаем изначальный кулдаун, если цель ближе 50 блоков
}
}
}
private void stopTargeting() {
targetedPlayers.clear();
isTargeting = false;
}
private void checkChatMessage() {
long currentTime = System.currentTimeMillis();
if (currentTime - lastChatMessageTime >= chatMessageInterval) {
if (!targetedPlayers.isEmpty()) {
PlayerEntity target = targetedPlayers.iterator().next();
if (target != null) {
float mchealth = target.getHealth();
if (mchealth <= 0.01f) {
targetedPlayers.clear();
NotificationUtil.NOTIFICATION_MANAGER.add("Таргет был убит! Выключаю модуль", "", 2, NotificationManager.ImageType.FIRST_PHOTO);
onDisable();
}
}
}
lastChatMessageTime = currentTime;
}
float mchealth = Minecraft.player.getHealth();
if (save.get() && mchealth < hptoggle.get()) {
double deltaX = mc.player.getPosX() - Minecraft.getInstance().player.getPosX();
double deltaZ = mc.player.getPosZ() - Minecraft.getInstance().player.getPosZ();
double deltaY = mc.player.getPosY() - Minecraft.getInstance().player.getPosY();
double yaw = Math.toDegrees(Math.atan2(deltaZ, deltaX)) - 185;
double pitch = -Math.toDegrees(Math.atan2(deltaY, Math.sqrt(deltaX * deltaX + deltaZ * deltaZ)));
Minecraft.player.rotationYaw = (float) yaw;
Minecraft.player.rotationPitch = (float) pitch;
targetedPlayers.clear();
stopTargeting();
onDisable();
NotificationUtil.NOTIFICATION_MANAGER.add("Модуль был выключен, из-за " + mchealth + "ХП", "", 2, NotificationManager.ImageType.FIRST_PHOTO);
}
}
public PlayerEntity[] getTargetedPlayers() {
return targetedPlayers.toArray(new PlayerEntity[0]);
}
@Override
public void onDisable() {
super.onDisable();
}
}
ДС FANSY12Хз Кому Надо За util Писать вы дс Ril1k Всем Удачы
Код:package im.expensive.functions.impl.combat; import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe; import im.expensive.events.EventUpdate; import im.expensive.functions.api.Category; import im.expensive.functions.api.Function; import im.expensive.functions.api.FunctionRegister; import im.expensive.ui.NotificationManager; import im.expensive.functions.settings.impl.BooleanSetting; import im.expensive.functions.settings.impl.SliderSetting; import im.expensive.ui.NotificationManager; import im.expensive.utils.notifications.NotificationUtil; import im.expensive.utils.player.InventoryUtil; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Items; import net.minecraft.network.play.client.CHeldItemChangePacket; import net.minecraft.network.play.client.CPlayerTryUseItemPacket; import net.minecraft.util.Hand; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.vector.Vector2f; import net.minecraft.world.World; import java.util.HashSet; import java.util.List; import java.util.Set; @FunctionRegister(name = "ElytraTarget", type = Category.Combat) public class ElytraTarget extends Function { private Set<PlayerEntity> targetedPlayers = new HashSet<>(); private boolean isTargeting = false; private long lastFireworkTime = 0; private long fireworkCooldown = 750; // Изначальный кулдаун private long lastChatMessageTime = 0; private long chatMessageInterval = 5000; // Интервал между сообщениями в чат public Vector2f rotate = new Vector2f(0.0f, 0.0f); private BooleanSetting save = new BooleanSetting("Безопасность", true); private BooleanSetting autofirework = new BooleanSetting("Авто-Фейерверк", true); private BooleanSetting deadtoggle = new BooleanSetting("Оключать при смерти таргета",true); private SliderSetting distanse = new SliderSetting("Дистанция",50,5,50,1); private SliderSetting hptoggle = new SliderSetting("Хп для отключение",6,0,20,1).setVisible(() -> save.get()); public ElytraTarget() { addSettings(save,autofirework,deadtoggle,distanse,hptoggle); } @Subscribe private void onUpdate(EventUpdate e) { if (Minecraft.getInstance().player.isElytraFlying()) { if (!isTargeting) { targetPlayer(); } else { updateRotationToPlayer(); useFirework(); checkChatMessage(); } } else if (isTargeting) { stopTargeting(); } } private void targetPlayer() { World world = Minecraft.getInstance().world; if (world != null) { List<Entity> entities = world.getEntitiesWithinAABBExcludingEntity(Minecraft.getInstance().player, new AxisAlignedBB(Minecraft.getInstance().player.getPosX() - 10, Minecraft.getInstance().player.getPosY() - 5, Minecraft.getInstance().player.getPosZ() - 10, Minecraft.getInstance().player.getPosX() + 10, Minecraft.getInstance().player.getPosY() + 5, Minecraft.getInstance().player.getPosZ() + 10)); for (Entity entity : entities) { if (entity instanceof PlayerEntity && entity.isAlive()) { PlayerEntity target = (PlayerEntity) entity; if (!targetedPlayers.contains(target)) { targetedPlayers.clear(); targetedPlayers.add(target); isTargeting = true; setRotationToPlayer(target); return; } } } } } private void setRotationToPlayer(PlayerEntity player) { if (player!= null) { double deltaX = player.getPosX() - Minecraft.getInstance().player.getPosX(); double deltaZ = player.getPosZ() - Minecraft.getInstance().player.getPosZ(); double deltaY = player.getPosY() - Minecraft.getInstance().player.getPosY(); double yaw = Math.toDegrees(Math.atan2(deltaZ, deltaX)) - 90; double pitch = -Math.toDegrees(Math.atan2(deltaY, Math.sqrt(deltaX * deltaX + deltaZ * deltaZ))); Minecraft.getInstance().player.rotationYaw = (float) yaw; Minecraft.getInstance().player.rotationPitch = (float) pitch; } } private void updateRotationToPlayer() { if (!targetedPlayers.isEmpty()) { PlayerEntity target = targetedPlayers.iterator().next(); setRotationToPlayer(target); } } private void useFirework() { long currentTime = System.currentTimeMillis(); if (((Boolean) this.autofirework.get()).booleanValue() && currentTime - lastFireworkTime >= fireworkCooldown) { int hbSlot = InventoryUtil.getInstance().getSlotInInventoryOrHotbar(Items.FIREWORK_ROCKET, true); int invSlot = InventoryUtil.getInstance().getSlotInInventoryOrHotbar(Items.FIREWORK_ROCKET, false); if (invSlot == -1 && hbSlot == -1) { NotificationUtil.NOTIFICATION_MANAGER.add("Феерверки не найдены", "", 2, NotificationManager.ImageType.FIRST_PHOTO); return; } // Сохраняем текущий выбранный слот int currentSlot = Minecraft.getInstance().player.inventory.currentItem; // Переключаемся на слот с фейерверком Minecraft.getInstance().player.connection.sendPacket(new CHeldItemChangePacket(hbSlot)); // Используем фейерверк Minecraft.getInstance().player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND)); // Возвращаемся к предыдущему слоту Minecraft.getInstance().player.connection.sendPacket(new CHeldItemChangePacket(currentSlot)); // Обновляем время последнего использования фейерверка lastFireworkTime = currentTime; // Обновляем кулдаун в зависимости от расстояния до цели double distanceToTarget = Minecraft.getInstance().player.getDistance(targetedPlayers.iterator().next()); if (distanceToTarget > distanse.get()) { fireworkCooldown = 300; // Уменьшаем кулдаун, если цель дальше 50 блоков } else { fireworkCooldown = 200; // Возвращаем изначальный кулдаун, если цель ближе 50 блоков } } } private void stopTargeting() { targetedPlayers.clear(); isTargeting = false; } private void checkChatMessage() { long currentTime = System.currentTimeMillis(); if (currentTime - lastChatMessageTime >= chatMessageInterval) { if (!targetedPlayers.isEmpty()) { PlayerEntity target = targetedPlayers.iterator().next(); if (target != null) { float mchealth = target.getHealth(); if (mchealth <= 0.01f) { targetedPlayers.clear(); NotificationUtil.NOTIFICATION_MANAGER.add("Таргет был убит! Выключаю модуль", "", 2, NotificationManager.ImageType.FIRST_PHOTO); onDisable(); } } } lastChatMessageTime = currentTime; } float mchealth = Minecraft.player.getHealth(); if (save.get() && mchealth < hptoggle.get()) { double deltaX = mc.player.getPosX() - Minecraft.getInstance().player.getPosX(); double deltaZ = mc.player.getPosZ() - Minecraft.getInstance().player.getPosZ(); double deltaY = mc.player.getPosY() - Minecraft.getInstance().player.getPosY(); double yaw = Math.toDegrees(Math.atan2(deltaZ, deltaX)) - 185; double pitch = -Math.toDegrees(Math.atan2(deltaY, Math.sqrt(deltaX * deltaX + deltaZ * deltaZ))); Minecraft.player.rotationYaw = (float) yaw; Minecraft.player.rotationPitch = (float) pitch; targetedPlayers.clear(); stopTargeting(); onDisable(); NotificationUtil.NOTIFICATION_MANAGER.add("Модуль был выключен, из-за " + mchealth + "ХП", "", 2, NotificationManager.ImageType.FIRST_PHOTO); } } public PlayerEntity[] getTargetedPlayers() { return targetedPlayers.toArray(new PlayerEntity[0]); } @Override public void onDisable() { super.onDisable(); } }