Начинающий
- Статус
- Оффлайн
- Регистрация
- 26 Июл 2025
- Сообщения
- 12
- Реакции
- 0
- Выберите загрузчик игры
- OptiFine
Вот вам обход — можно сейвиться на дуэлях.

Пожалуйста, авторизуйтесь для просмотра ссылки.
(тык)
Java:
package im.expensive.functions.impl.movement;
import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.api.Category;
import im.expensive.functions.settings.impl.BooleanSetting;
import net.minecraft.util.math.BlockPos;
import net.minecraft.block.LadderBlock;
import net.minecraft.block.SlabBlock;
import net.minecraft.block.StairsBlock;
import net.minecraft.block.Blocks;
@FunctionRegister(
name = "MoveAssist",
type = Category.Movement
)
public class MoveAssist extends Function {
private boolean wasSneaking = false;
private BlockPos lastSneakPos = null;
public final BooleanSetting sitBoost = new BooleanSetting("Sit Boost", true);
public MoveAssist() {
this.addSettings(this.sitBoost);
}
@Override
public void onEnable() {
wasSneaking = false;
lastSneakPos = null;
super.onEnable();
}
@Subscribe
public void onUpdate(EventUpdate e) {
if (sitBoost.get() && mc.player != null && mc.world != null) {
boolean isSneakingNow = mc.player.isSneaking();
BlockPos currentPos = new BlockPos(mc.player.getPosX(), mc.player.getPosY(), mc.player.getPosZ());
if (wasSneaking && !isSneakingNow && lastSneakPos != null) {
if (wasOnSpecialBlock(lastSneakPos)) {
activateSitBoost();
}
}
if (isSneakingNow) {
lastSneakPos = currentPos;
}
wasSneaking = isSneakingNow;
}
}
private boolean wasOnSpecialBlock(BlockPos pos) {
if (mc.world == null) return false;
BlockPos belowPos = pos.down();
net.minecraft.block.Block blockBelow = mc.world.getBlockState(belowPos).getBlock();
net.minecraft.block.Block blockAtPos = mc.world.getBlockState(pos).getBlock();
BlockPos abovePos = pos.up();
net.minecraft.block.Block blockAbove = mc.world.getBlockState(abovePos).getBlock();
boolean onLadder = blockAtPos instanceof LadderBlock ||
blockBelow instanceof LadderBlock ||
blockAbove instanceof LadderBlock ||
mc.player.isOnLadder();
boolean onSlab = blockBelow instanceof SlabBlock;
boolean onStairs = blockBelow instanceof StairsBlock;
boolean onCarpet = blockBelow.getTranslationKey().contains("carpet");
boolean onSnow = blockBelow == Blocks.SNOW;
boolean onBed = blockBelow.getTranslationKey().contains("bed");
boolean isSpecialBlock = onLadder || onSlab || onStairs || onCarpet || onSnow || onBed;
return isSpecialBlock;
}
private void activateSitBoost() {
mc.player.setMotion(
mc.player.getMotion().x,
1.5f,
mc.player.getMotion().z
);
double yaw = Math.toRadians(mc.player.rotationYaw);
double forwardX = -Math.sin(yaw) * 0.25;
double forwardZ = Math.cos(yaw) * 0.25;
mc.player.setMotion(
mc.player.getMotion().x + forwardX,
mc.player.getMotion().y,
mc.player.getMotion().z + forwardZ
);
}
}
