-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Курапов год без сек:
//1
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package im.expensive.modules.impl.movement;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.client.CEntityActionPacket.Action;
import net.minecraft.network.play.server.SEntityMetadataPacket;
import net.minecraft.util.Hand;
import net.minecraft.util.text.TextFormatting;
import im.expensive.events.Event;
import im.expensive.events.impl.packet.EventPacket;
import im.expensive.events.impl.player.EventMotion;
import im.expensive.events.impl.player.EventUpdate;
import im.expensive.modules.Function;
import im.expensive.modules.FunctionAnnotation;
import im.expensive.modules.Type;
import im.expensive.modules.settings.Setting;
import im.expensive.modules.settings.imp.BooleanOption;
import im.expensive.modules.settings.imp.SliderSetting;
import im.expensive.util.ClientUtil;
import im.expensive.util.misc.TimerUtil;
import im.expensive.util.movement.MoveUtil;
import im.expensive.util.world.InventoryUtil;
@FunctionAnnotation(
name = "CatStrafe",
type = Type.Movement
)
public class CatStrafe extends Function {
private final TimerUtil timerUtil = new TimerUtil();
int oldItem = -1;
private final SliderSetting speedBoost = new SliderSetting("Скорость", 0.3F, 0.0F, 0.8F, 1.0E-4F);
private final BooleanOption autoJump = new BooleanOption("Авто прыжок", false);
private final BooleanOption safeMode = new BooleanOption("Безопасный режим", false);
boolean test1 = false;
public CatStrafe() {
this.addSettings(new Setting[]{this.speedBoost, this.safeMode, this.autoJump});
}
protected void onEnable() {
super.onEnable();
}
public void onEvent(Event event) {
if (event instanceof EventUpdate) {
if (mc.player.collidedHorizontally && this.safeMode.get()) {
ClientUtil.sendMesage(TextFormatting.RED + "Вы столкнулись с блоком, перезапустите функцию!");
this.toggle();
return;
}
if (InventoryUtil.getItemSlot(Items.FIREWORK_ROCKET) == -1 || mc.player.collidedHorizontally || !InventoryUtil.doesHotbarHaveItem(Items.ELYTRA)) {
return;
}
if (this.autoJump.get() && !mc.gameSettings.keyBindJump.isKeyDown() && mc.player.isOnGround()) {
mc.gameSettings.keyBindJump.setPressed(true);
}
if (mc.player.getActiveHand() == Hand.MAIN_HAND) {
mc.playerController.onStoppedUsingItem(mc.player);
}
}
if (event instanceof EventMotion eventMotion) {
eventMotion.setPitch(15.0F);
mc.player.rotationPitchHead = 15.0F;
}
if (event instanceof EventUpdate) {
mc.gameSettings.keyBindBack.setPressed(false);
mc.gameSettings.keyBindLeft.setPressed(false);
mc.gameSettings.keyBindRight.setPressed(false);
boolean test = false;
if ((mc.player.isOnGround() || mc.player.fallDistance != 0.0F && mc.gameSettings.keyBindJump.isKeyDown()) && this.timerUtil.hasTimeElapsed(600L)) {
test = true;
}
if (mc.player.isOnGround() && test) {
mc.gameSettings.keyBindForward.setPressed(false);
return;
}
if (mc.player.fallDistance == 0.0F && !mc.player.isOnGround()) {
test = false;
}
for(int i = 0; i < 9; ++i) {
if (mc.player.inventory.getStackInSlot(i).getItem() == Items.ELYTRA && !mc.player.isOnGround() && !mc.player.isInWater() && !mc.player.isInLava()) {
float speed;
if (InventoryUtil.doesHotbarHaveItem(Items.FIREWORK_ROCKET) && this.timerUtil.hasTimeElapsed(300L)) {
mc.playerController.windowClick(0, 6, i, ClickType.SWAP, mc.player);
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, Action.START_FALL_FLYING));
speed = 0.9F + this.speedBoost.getValue().floatValue();
MoveUtil.setMotion((double)speed);
mc.playerController.windowClick(0, 6, i, ClickType.SWAP, mc.player);
if (this.timerUtil.hasTimeElapsed(300L)) {
InventoryUtil.inventorySwapClick(Items.FIREWORK_ROCKET, false);
this.timerUtil.reset();
}
}
if (!InventoryUtil.doesHotbarHaveItem(Items.FIREWORK_ROCKET) && this.timerUtil.hasTimeElapsed(300L)) {
mc.playerController.windowClick(0, 6, i, ClickType.SWAP, mc.player);
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, Action.START_FALL_FLYING));
speed = 0.9F + this.speedBoost.getValue().floatValue();
MoveUtil.setMotion((double)speed);
mc.playerController.windowClick(0, 6, i, ClickType.SWAP, mc.player);
if (this.timerUtil.hasTimeElapsed(300L)) {
InventoryUtil.inventorySwapClick(Items.FIREWORK_ROCKET, false);
this.timerUtil.reset();
}
}
}
}
}
if (event instanceof EventPacket e) {
if (e.getPacket() instanceof SEntityMetadataPacket && ((SEntityMetadataPacket)e.getPacket()).getEntityId() == mc.player.getEntityId()) {
e.setCancel(true);
}
}
}
public void onDisable() {
super.onDisable();
if (this.oldItem != -1) {
if (((ItemStack)mc.player.inventory.armorInventory.get(2)).getItem() == Items.ELYTRA) {
mc.playerController.windowClick(0, this.oldItem < 9 ? this.oldItem + 36 : this.oldItem, 38, ClickType.SWAP, mc.player);
}
this.oldItem = -1;
}