-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Verist сказал что робит до сей поры поэтому хавайте че
потом если че напишите робит или не я сам хз
сс и аплоада нету я с этим говном не играю и не юзаю
потом если че напишите робит или не я сам хз
сс и аплоада нету я с этим говном не играю и не юзаю
Код:
///хавайте пастеры мои харчи by maslovsky and Verist...
package im.expensive.functions.impl.movement;
import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventMotion;
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.functions.settings.impl.BooleanSetting;
import im.expensive.functions.settings.impl.ModeListSetting;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.player.MoveUtils;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.vector.Vector3d;
@FunctionRegister(name="Fly FT", type=Category.Movement)
public class FlyFt
extends Function {
private final ModeSetting mode = new ModeSetting("\u041c\u043e\u0434", "Funtime", "Funtime");
final ModeListSetting options = new ModeListSetting("\u041e\u043f\u0446\u0438\u0438", new BooleanSetting("\u0410\u0432\u0442\u043e \u043f\u0440\u044b\u0436\u043e\u043a", false), new BooleanSetting("\u0420\u043e\u0442\u0430\u0446\u0438\u044f \u0438\u0433\u0440\u043e\u043a\u0430", true), new BooleanSetting("\u0411\u043b\u043e\u043a\u0438 \u0438\u0437 \u0445\u043e\u0442\u0431\u0430\u0440\u0430", true), new BooleanSetting("\u0420\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0432\u043e\u0437\u0434\u0443\u0445\u0435", false), new BooleanSetting("\u0421\u0442\u0430\u0432\u0438\u0442\u044c \u0411\u043b\u043e\u043a\u0438", true), new BooleanSetting("\u0420\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043a\u0440\u0430\u044e \u0431\u043b\u043e\u043a\u043e\u0432", false), new BooleanSetting("\u0420\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043f\u043e\u043b\u0443\u0431\u043b\u043e\u043a\u0430\u0445 \u0438 \u0442.\u0434", false)).setVisible(() -> this.mode.is("Funtime"));
private final ModeSetting speed_mode = new ModeSetting("\u0422\u0438\u043f \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u0438", "\u041c\u043e\u0443\u0448\u0435\u043d", "\u041c\u043e\u0443\u0448\u0435\u043d", "\u041c\u0443\u0432 \u0443\u0442\u0438\u043b").setVisible(() -> this.mode.is("Funtime"));
public SliderSetting speed_Motion = new SliderSetting("\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u041c\u043e\u0443\u0448\u0435\u043d", 1.2f, 1.01f, 1.9f, 0.01f).setVisible(() -> this.mode.is("Funtime") && this.speed_mode.is("\u041c\u043e\u0443\u0448\u0435\u043d"));
public SliderSetting speed_MoveUlti = new SliderSetting("\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u041c\u0443\u0432 \u0443\u0442\u0438\u043b", 0.3f, 0.1f, 1.0f, 0.01f).setVisible(() -> this.mode.is("Funtime") && this.speed_mode.is("\u041c\u0443\u0432 \u0443\u0442\u0438\u043b"));
boolean workInAir = (Boolean)this.options.getValueByName("\u0420\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0432\u043e\u0437\u0434\u0443\u0445\u0435").get();
public FlyFt() {
this.addSettings(this.mode, this.options, this.speed_mode, this.speed_Motion, this.speed_MoveUlti);
}
@Subscribe
public void autojump(EventUpdate e) {
if (((Boolean)this.options.getValueByName("\u0410\u0432\u0442\u043e \u043f\u0440\u044b\u0436\u043e\u043a").get()).booleanValue() && FlyFt.mc.player.isOnGround()) {
FlyFt.mc.player.jump();
}
}
@Subscribe
public void rotation(EventMotion e) {
if (((Boolean)this.options.getValueByName("\u0420\u043e\u0442\u0430\u0446\u0438\u044f \u0438\u0433\u0440\u043e\u043a\u0430").get()).booleanValue()) {
FlyFt.mc.player.rotationPitchHead = 90.0f;
e.setPitch(90.0f);
}
}
@Subscribe
public void onUpdate(EventUpdate e) {
if (FlyFt.mc.player == null || FlyFt.mc.world == null) {
return;
}
switch (this.mode.getIndex()) {
case 0: {
BlockPos posBelow;
if (this.speed_mode.is("\u041c\u043e\u0443\u0448\u0435\u043d") && FlyFt.mc.player.isOnGround()) {
FlyFt.mc.player.motion.x *= (double)((Float)this.speed_Motion.get()).floatValue();
FlyFt.mc.player.motion.z *= (double)((Float)this.speed_Motion.get()).floatValue();
}
if (this.speed_mode.is("\u041c\u0443\u0432 \u0443\u0442\u0438\u043b") && FlyFt.mc.player.isOnGround()) {
MoveUtils.setMotion(((Float)this.speed_MoveUlti.get()).floatValue());
}
if (!((Boolean)this.options.getValueByName("\u0421\u0442\u0430\u0432\u0438\u0442\u044c \u0411\u043b\u043e\u043a\u0438").get()).booleanValue() || !FlyFt.mc.world.getBlockState(posBelow = FlyFt.mc.player.getPosition().down()).getMaterial().isReplaceable()) break;
this.placeBlockUnderPlayer(posBelow);
}
}
}
private void placeBlockUnderPlayer(BlockPos pos) {
int lastSlot = FlyFt.mc.player.inventory.currentItem;
int blockSlot = this.findBlockInHotbar();
if (blockSlot == -1) {
return;
}
FlyFt.mc.player.inventory.currentItem = blockSlot;
Vector3d vector3d = new Vector3d((double)pos.getX() + 0.5, pos.getY(), (double)pos.getZ() + 0.5);
BlockRayTraceResult result = new BlockRayTraceResult(vector3d, Direction.UP, pos, false);
FlyFt.mc.player.swingArm(Hand.MAIN_HAND);
FlyFt.mc.player.connection.sendPacket(new CPlayerTryUseItemOnBlockPacket(Hand.MAIN_HAND, result));
FlyFt.mc.player.inventory.currentItem = lastSlot;
FlyFt.mc.player.setMotion(FlyFt.mc.player.getMotion().x, 0.01, FlyFt.mc.player.getMotion().z);
}
private int findBlockInHotbar() {
for (int i = 0; i < 9; ++i) {
ItemStack stack = FlyFt.mc.player.inventory.getStackInSlot(i);
if (stack.isEmpty() || !(stack.getItem() instanceof BlockItem)) continue;
return i;
}
return -1;
}
public ModeListSetting getOptions() {
return this.options;
}
}