Начинающий
- Статус
- Онлайн
- Регистрация
- 30 Авг 2024
- Сообщения
- 19
- Реакции
- 0
- Выберите загрузчик игры
- Fabric
Увидел тему на YouGame решил повторить но уже на Zenith no recode что бы работало вам надо в ModuleRepository
вставить NoClip и в папке Movement сделать NoClip.java и туда вставить
А вот сам код
вставить NoClip и в папке Movement сделать NoClip.java и туда вставить
Пожалуйста, авторизуйтесь для просмотра ссылки.
А вот сам код
Java:
package ru.zenith.implement.features.modules.movement;
import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.vehicle.BoatEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import ru.zenith.api.event.EventHandler;
import ru.zenith.api.event.types.EventType;
import ru.zenith.api.feature.module.Module;
import ru.zenith.api.feature.module.ModuleCategory;
import ru.zenith.api.feature.module.setting.implement.GroupSetting;
import ru.zenith.api.feature.module.setting.implement.ValueSetting;
import ru.zenith.implement.events.player.PostTickEvent;
import ru.zenith.implement.events.player.RotationUpdateEvent;
public class NoClip extends Module {
private final ValueSetting boatUpSpeed = new ValueSetting("Скорость вверх", "Скорость движения вверх")
.setValue(0.4f).range(0.05f, 5f);
private final ValueSetting boatDownSpeed = new ValueSetting("Скорость вниз", "Скорость движения вниз")
.setValue(0.4f).range(0.05f, 5f);
private final ValueSetting boatHorizontalSpeed = new ValueSetting("Скорость в стороны", "Скорость движения в стороны")
.setValue(0.6f).range(0.05f, 5f);
private final GroupSetting speedGroup = new GroupSetting("Настройки скорости", "Настройки скоростей перемещения")
.settings(boatUpSpeed, boatDownSpeed, boatHorizontalSpeed).setValue(true);
public NoClip() {
super("BoatNoClip", "Позволяет двигаться на лодке сквозь блоки", ModuleCategory.MOVEMENT);
setup(speedGroup);
}
@Override
public void activate() {
super.activate();
}
@Override
public void deactivate() {
if (mc.player != null && mc.player.getVehicle() instanceof BoatEntity boat) {
boat.noClip = false;
boat.setNoGravity(false);
}
super.deactivate();
}
@EventHandler
public void onPostTick(PostTickEvent event) {
if (mc.player == null || mc.world == null) return;
Entity entity = mc.player.getVehicle();
if (!(entity instanceof BoatEntity boat)) return;
boat.noClip = true;
boat.setNoGravity(true);
mc.options.sneakKey.setPressed(false);
boolean insideBlock = isInsideSolidBlock();
double horizontalSpeed = insideBlock ? 0.25D : boatHorizontalSpeed.getValue();
boat.setYaw(mc.player.getYaw());
boat.prevYaw = boat.getYaw();
double motionX = 0;
double motionY = 0;
double motionZ = 0;
float yaw = boat.getYaw();
double rad = Math.toRadians(yaw);
if (mc.options.jumpKey.isPressed())
motionY += boatUpSpeed.getValue();
if (mc.options.backKey.isPressed())
motionY -= boatDownSpeed.getValue();
if (mc.options.forwardKey.isPressed()) {
motionX -= MathHelper.sin((float) rad) * horizontalSpeed;
motionZ += MathHelper.cos((float) rad) * horizontalSpeed;
}
if (mc.options.leftKey.isPressed()) {
motionX -= MathHelper.cos((float) rad) * horizontalSpeed;
motionZ -= MathHelper.sin((float) rad) * horizontalSpeed;
}
if (mc.options.rightKey.isPressed()) {
motionX += MathHelper.cos((float) rad) * horizontalSpeed;
motionZ += MathHelper.sin((float) rad) * horizontalSpeed;
}
Vec3d velocity = new Vec3d(motionX, motionY, motionZ);
boat.setVelocity(velocity);
if (!mc.player.hasVehicle()) {
mc.player.startRiding(boat, true);
}
}
private boolean isInsideSolidBlock() {
if (mc.player == null) return false;
Box box = mc.player.getBoundingBox().expand(0.001D);
int minX = MathHelper.floor(box.minX);
int minY = MathHelper.floor(box.minY);
int minZ = MathHelper.floor(box.minZ);
int maxX = MathHelper.floor(box.maxX);
int maxY = MathHelper.floor(box.maxY);
int maxZ = MathHelper.floor(box.maxZ);
BlockPos.Mutable mutablePos = new BlockPos.Mutable();
for (int x = minX; x <= maxX; x++) {
for (int y = minY; y <= maxY; y++) {
for (int z = minZ; z <= maxZ; z++) {
mutablePos.set(x, y, z);
BlockState state = mc.world.getBlockState(mutablePos);
if (state.isSolid()) {
return true;
}
}
}
}
return false;
}
}
Последнее редактирование: