• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Вопрос TargetStrafe ошибачке

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
27 Янв 2024
Сообщения
694
Реакции
5
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
кароче тут такое приколе мне ошибку ебашит только на этой базе на остальных все заебись умные селфкодеры разберитесь




---------------------------

апр. 01, 2025 4:14:28 PM com.google.common.eventbus.EventBus$LoggingHandler handleException
SEVERE: Exception thrown by subscriber method onMotion(premium.zovchik.events.MovingEvent) on subscriber premium.zovchik.modules.impl.movement.TargetStrafe@7fda62b9 when dispatching event: premium.zovchik.events.MovingEvent@6d31aeb4
java.lang.NullPointerException: Cannot invoke "premium.zovchik.modules.impl.combat.Aura.isState()" because "this.aura" is null
at premium.zovchik.modules.impl.movement.TargetStrafe.getTarget(TargetStrafe.java:151)
at premium.zovchik.modules.impl.movement.TargetStrafe.onMotion(TargetStrafe.java:66)
at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraft.entity.Entity.move(Entity.java:603)
at net.minecraft.client.entity.player.ClientPlayerEntity.move(ClientPlayerEntity.java:1070)
at net.minecraft.entity.LivingEntity.func_233633_a_(LivingEntity.java:2365)
at net.minecraft.entity.LivingEntity.travel(LivingEntity.java:2323)
at net.minecraft.entity.player.PlayerEntity.travel(PlayerEntity.java:1553)
at net.minecraft.entity.LivingEntity.livingTick(LivingEntity.java:2810)
at net.minecraft.entity.player.PlayerEntity.livingTick(PlayerEntity.java:513)
at net.minecraft.client.entity.player.ClientPlayerEntity.livingTick(ClientPlayerEntity.java:982)
at net.minecraft.entity.LivingEntity.tick(LivingEntity.java:2492)
at net.minecraft.entity.player.PlayerEntity.tick(PlayerEntity.java:212)
at net.minecraft.client.entity.player.ClientPlayerEntity.tick(ClientPlayerEntity.java:228)
at net.minecraft.client.world.ClientWorld.updateEntity(ClientWorld.java:227)
at net.minecraft.world.World.guardEntityTick(World.java:556)
at net.minecraft.client.world.ClientWorld.tickEntities(ClientWorld.java:192)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1571)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:961)
at net.minecraft.client.Minecraft.run(Minecraft.java:575)
at net.minecraft.client.main.Main.main(Main.java:190)
at Start.main(Start.java:11)
----------------------------------------------------
код килачке
package premium.zovchik.modules.impl.movement;

import com.google.common.eventbus.Subscribe;
import premium.zovchik.events.*;
import premium.zovchik.modules.api.Category;
import premium.zovchik.modules.api.Module;
import premium.zovchik.modules.api.ModuleRegister;
import premium.zovchik.modules.impl.combat.Aura;
import premium.zovchik.modules.settings.impl.BooleanSetting;
import premium.zovchik.modules.settings.impl.SliderSetting;
import premium.zovchik.utils.player.DamagePlayerUtil;
import premium.zovchik.utils.player.MoveUtils;
import premium.zovchik.utils.player.StrafeMovement;
import net.minecraft.block.AirBlock;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.block.SoulSandBlock;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.util.InputMappings;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.server.SPlayerPositionLookPacket;
import net.minecraft.potion.Effects;
import net.minecraft.util.math.BlockPos;
import org.lwjgl.glfw.GLFW;


@ModuleRegister(name = "TargetStrafe", category = Category.Movement)
public class TargetStrafe extends Module {

private final SliderSetting distanceSetting = new SliderSetting("Дистанция", 1f, 0.1f, 6f, 0.05f);
private final BooleanSetting damageBoostSetting = new BooleanSetting("Буст с дамагом", true);
private final SliderSetting boostValueSetting = new SliderSetting("Значение буста", 1.5F, 0.1f, 5.0f, 0.05f);
private final SliderSetting timeSetting = new SliderSetting("Время буста", 10.0f, 1.0f, 20.0f, 1.0f);
private final BooleanSetting saveTarget = new BooleanSetting("Сохранять цель", true);


private float side = 1;
private LivingEntity target = null;
private final DamagePlayerUtil damageUtil = new DamagePlayerUtil();
private String targetName = "";
public StrafeMovement strafeMovement = new StrafeMovement();
private final Aura aura;

public TargetStrafe(Aura aura) {
this.aura = aura;
addSettings(distanceSetting, damageBoostSetting, timeSetting, saveTarget);
}

@Subscribe
private void onAction(ActionEvent e) {
if (mc.player == null || mc.world == null) return;
handleEventAction(e);
}

@Subscribe
public void onMotion(final MovingEvent event) {

if (mc.player == null || mc.world == null || mc.player.ticksExisted < 10) return;
boolean isLeftKeyPressed = InputMappings.isKeyDown(Minecraft.getInstance().getMainWindow().getHandle(), GLFW.GLFW_KEY_A);
boolean isRightKeyPressed = InputMappings.isKeyDown(Minecraft.getInstance().getMainWindow().getHandle(), GLFW.GLFW_KEY_D);

LivingEntity auraTarget = getTarget();

if (auraTarget != null) {
targetName = auraTarget.getName().getString();
}

if (shouldSaveTarget(auraTarget)) {
target = updateTarget(target);
} else target = auraTarget;

if (target != null && target.isAlive() && target.getHealth() > 0.0f) {
if (mc.player.collidedHorizontally) side *= -1;
if (isLeftKeyPressed) side = 1;
if (isRightKeyPressed) side = -1;
double angle = Math.atan2(mc.player.getPosZ() - target.getPosZ(), mc.player.getPosX() - target.getPosX());
angle += MoveUtils.getMotion() / Math.max(mc.player.getDistance(target), distanceSetting.min) * side;
double x = target.getPosX() + distanceSetting.get() * Math.cos(angle);
double z = target.getPosZ() + distanceSetting.get() * Math.sin(angle);

double yaw = getYaw(mc.player, x, z);

this.damageUtil.time(timeSetting.get().longValue() * 100);

final float damageSpeed = boostValueSetting.get() / 10.0F;

final double speed = strafeMovement.calculateSpeed(event, damageBoostSetting.get(),
damageUtil.isNormalDamage(),
true, damageSpeed);

event.getMotion().x = (speed * -Math.sin(Math.toRadians(yaw)));
event.getMotion().z = (speed * Math.cos(Math.toRadians(yaw)));
}
}

@Subscribe
private void onPostMove(PostMoveEvent e) {
if (mc.player == null || mc.world == null) return;
strafeMovement.postMove(e.getHorizontalMove());
}

@Subscribe
private void onPacket(EventPacket e) {
if (mc.player == null || mc.world == null) return;
if (e.getType() == EventPacket.Type.RECEIVE) {
damageUtil.onPacketEvent(e);
if (e.getPacket() instanceof SPlayerPositionLookPacket) {
strafeMovement.setOldSpeed(0);
}
}
}

@Subscribe
private void onDamage(EventDamageReceive e) {
if (mc.player == null || mc.world == null) return;
damageUtil.processDamage(e);
}

@Subscribe
public void onUpdate(EventUpdate e) {
if (mc.player.isOnGround() && !mc.gameSettings.keyBindJump.pressed && target != null && target.isAlive()) {
mc.player.jump();
}
}

@override
public boolean onEnable() {
strafeMovement.setOldSpeed(0);
target = null;
super.onEnable();
return false;
}

private void handleEventAction(ActionEvent action) {
if (strafes()) {
if (CEntityActionPacket.lastUpdatedSprint != strafeMovement.isNeedSprintState()) {
action.setSprintState(!CEntityActionPacket.lastUpdatedSprint);
}
}
if (strafeMovement.isNeedSwap()) {
action.setSprintState(!mc.player.serverSprintState);
strafeMovement.setNeedSprintState(false);
}
}

private LivingEntity getTarget() {
return aura.isState() ? aura.getTarget() : target;
}

private LivingEntity updateTarget(LivingEntity currentTarget) {
for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof PlayerEntity && entity.getName().getString().equalsIgnoreCase(targetName)) {
return (LivingEntity) entity;
}
}
return currentTarget;
}

private boolean shouldSaveTarget(LivingEntity target) {
boolean settingIsEnabled = saveTarget.get();
boolean targetAndTargetNameExist = target != null && targetName != null;

return settingIsEnabled && targetAndTargetNameExist && aura.isState();
}

private double getYaw(LivingEntity entity, double x, double z) {
return Math.toDegrees(Math.atan2(z - entity.getPosZ(), x - entity.getPosX())) - 90F;
}

public boolean strafes() {
if (isInvalidPlayerState()) {
return false;
}

BlockPos playerPosition = new BlockPos(mc.player.getPositionVec());
BlockPos abovePosition = playerPosition.up();
BlockPos belowPosition = playerPosition.down();

if (isSurfaceLiquid(abovePosition, belowPosition)) {
return false;
}

if (isPlayerInWebOrSoulSand(playerPosition)) {
return false;
}

return isPlayerAbleToStrafe();
}

private boolean isInvalidPlayerState() {
return mc.player == null || mc.world == null
|| mc.player.isSneaking()
|| mc.player.isElytraFlying()
|| mc.player.isInWater()
|| mc.player.isInLava();
}

private boolean isSurfaceLiquid(BlockPos abovePosition, BlockPos belowPosition) {
Block aboveBlock = mc.world.getBlockState(abovePosition).getBlock();
Block belowBlock = mc.world.getBlockState(belowPosition).getBlock();

return aboveBlock instanceof AirBlock && belowBlock == Blocks.WATER;
}

private boolean isPlayerInWebOrSoulSand(BlockPos playerPosition) {
Material playerMaterial = mc.world.getBlockState(playerPosition).getMaterial();
Block oneBelowBlock = mc.world.getBlockState(playerPosition.down()).getBlock();

return playerMaterial == Material.WEB || oneBelowBlock instanceof SoulSandBlock;
}

private boolean isPlayerAbleToStrafe() {
return !mc.player.abilities.isFlying && !mc.player.isPotionActive(Effects.LEVITATION);
}

}
 
В чём именно ошибка?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну норм
java.lang.NullPointerException: Cannot invoke "premium.zovchik.modules.impl.combat.Aura.isState()" because "this.aura" is null
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Cannot invoke "premium.zovchik.modules.impl.combat.Aura.isState()" because "this.aura" is null
это насколько надо деградировать, что бы не инициализировать ауру, и заебывать на форуме вопросами "а почему аура таргет не гетает"
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Cannot invoke "premium.zovchik.modules.impl.combat.Aura.isState()" because "this.aura" is null
это насколько надо деградировать, что бы не инициализировать ауру, и заебывать на форуме вопросами "а почему аура таргет не гетает"
да потому что он в моменте и пролетит который день он не заметил
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Cannot invoke "premium.zovchik.modules.impl.combat.Aura.isState()" because "this.aura" is null
это насколько надо деградировать, что бы не инициализировать ауру, и заебывать на форуме вопросами "а почему аура таргет не гетает"
она инициализирована приглядись
она инициализирована приглядись
я ее с старых сурсов своих взял она работала там
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
она инициализирована приглядись

я ее с старых сурсов своих взял она работала там
вообще у тя ещё жалуется на таргет стрейфы, ошибка эта при каких условиях вылетает?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
кароче тут такое приколе мне ошибку ебашит только на этой базе на остальных все заебись умные селфкодеры разберитесь




---------------------------

апр. 01, 2025 4:14:28 PM com.google.common.eventbus.EventBus$LoggingHandler handleException
SEVERE: Exception thrown by subscriber method onMotion(premium.zovchik.events.MovingEvent) on subscriber premium.zovchik.modules.impl.movement.TargetStrafe@7fda62b9 when dispatching event: premium.zovchik.events.MovingEvent@6d31aeb4
java.lang.NullPointerException: Cannot invoke "premium.zovchik.modules.impl.combat.Aura.isState()" because "this.aura" is null
at premium.zovchik.modules.impl.movement.TargetStrafe.getTarget(TargetStrafe.java:151)
at premium.zovchik.modules.impl.movement.TargetStrafe.onMotion(TargetStrafe.java:66)
at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraft.entity.Entity.move(Entity.java:603)
at net.minecraft.client.entity.player.ClientPlayerEntity.move(ClientPlayerEntity.java:1070)
at net.minecraft.entity.LivingEntity.func_233633_a_(LivingEntity.java:2365)
at net.minecraft.entity.LivingEntity.travel(LivingEntity.java:2323)
at net.minecraft.entity.player.PlayerEntity.travel(PlayerEntity.java:1553)
at net.minecraft.entity.LivingEntity.livingTick(LivingEntity.java:2810)
at net.minecraft.entity.player.PlayerEntity.livingTick(PlayerEntity.java:513)
at net.minecraft.client.entity.player.ClientPlayerEntity.livingTick(ClientPlayerEntity.java:982)
at net.minecraft.entity.LivingEntity.tick(LivingEntity.java:2492)
at net.minecraft.entity.player.PlayerEntity.tick(PlayerEntity.java:212)
at net.minecraft.client.entity.player.ClientPlayerEntity.tick(ClientPlayerEntity.java:228)
at net.minecraft.client.world.ClientWorld.updateEntity(ClientWorld.java:227)
at net.minecraft.world.World.guardEntityTick(World.java:556)
at net.minecraft.client.world.ClientWorld.tickEntities(ClientWorld.java:192)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1571)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:961)
at net.minecraft.client.Minecraft.run(Minecraft.java:575)
at net.minecraft.client.main.Main.main(Main.java:190)
at Start.main(Start.java:11)
----------------------------------------------------
код килачке
package premium.zovchik.modules.impl.movement;

import com.google.common.eventbus.Subscribe;
import premium.zovchik.events.*;
import premium.zovchik.modules.api.Category;
import premium.zovchik.modules.api.Module;
import premium.zovchik.modules.api.ModuleRegister;
import premium.zovchik.modules.impl.combat.Aura;
import premium.zovchik.modules.settings.impl.BooleanSetting;
import premium.zovchik.modules.settings.impl.SliderSetting;
import premium.zovchik.utils.player.DamagePlayerUtil;
import premium.zovchik.utils.player.MoveUtils;
import premium.zovchik.utils.player.StrafeMovement;
import net.minecraft.block.AirBlock;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.block.SoulSandBlock;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.util.InputMappings;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.play.client.CEntityActionPacket;
import net.minecraft.network.play.server.SPlayerPositionLookPacket;
import net.minecraft.potion.Effects;
import net.minecraft.util.math.BlockPos;
import org.lwjgl.glfw.GLFW;


@ModuleRegister(name = "TargetStrafe", category = Category.Movement)
public class TargetStrafe extends Module {

private final SliderSetting distanceSetting = new SliderSetting("Дистанция", 1f, 0.1f, 6f, 0.05f);
private final BooleanSetting damageBoostSetting = new BooleanSetting("Буст с дамагом", true);
private final SliderSetting boostValueSetting = new SliderSetting("Значение буста", 1.5F, 0.1f, 5.0f, 0.05f);
private final SliderSetting timeSetting = new SliderSetting("Время буста", 10.0f, 1.0f, 20.0f, 1.0f);
private final BooleanSetting saveTarget = new BooleanSetting("Сохранять цель", true);


private float side = 1;
private LivingEntity target = null;
private final DamagePlayerUtil damageUtil = new DamagePlayerUtil();
private String targetName = "";
public StrafeMovement strafeMovement = new StrafeMovement();
private final Aura aura;

public TargetStrafe(Aura aura) {
this.aura = aura;
addSettings(distanceSetting, damageBoostSetting, timeSetting, saveTarget);
}

@Subscribe
private void onAction(ActionEvent e) {
if (mc.player == null || mc.world == null) return;
handleEventAction(e);
}

@Subscribe
public void onMotion(final MovingEvent event) {

if (mc.player == null || mc.world == null || mc.player.ticksExisted < 10) return;
boolean isLeftKeyPressed = InputMappings.isKeyDown(Minecraft.getInstance().getMainWindow().getHandle(), GLFW.GLFW_KEY_A);
boolean isRightKeyPressed = InputMappings.isKeyDown(Minecraft.getInstance().getMainWindow().getHandle(), GLFW.GLFW_KEY_D);

LivingEntity auraTarget = getTarget();

if (auraTarget != null) {
targetName = auraTarget.getName().getString();
}

if (shouldSaveTarget(auraTarget)) {
target = updateTarget(target);
} else target = auraTarget;

if (target != null && target.isAlive() && target.getHealth() > 0.0f) {
if (mc.player.collidedHorizontally) side *= -1;
if (isLeftKeyPressed) side = 1;
if (isRightKeyPressed) side = -1;
double angle = Math.atan2(mc.player.getPosZ() - target.getPosZ(), mc.player.getPosX() - target.getPosX());
angle += MoveUtils.getMotion() / Math.max(mc.player.getDistance(target), distanceSetting.min) * side;
double x = target.getPosX() + distanceSetting.get() * Math.cos(angle);
double z = target.getPosZ() + distanceSetting.get() * Math.sin(angle);

double yaw = getYaw(mc.player, x, z);

this.damageUtil.time(timeSetting.get().longValue() * 100);

final float damageSpeed = boostValueSetting.get() / 10.0F;

final double speed = strafeMovement.calculateSpeed(event, damageBoostSetting.get(),
damageUtil.isNormalDamage(),
true, damageSpeed);

event.getMotion().x = (speed * -Math.sin(Math.toRadians(yaw)));
event.getMotion().z = (speed * Math.cos(Math.toRadians(yaw)));
}
}

@Subscribe
private void onPostMove(PostMoveEvent e) {
if (mc.player == null || mc.world == null) return;
strafeMovement.postMove(e.getHorizontalMove());
}

@Subscribe
private void onPacket(EventPacket e) {
if (mc.player == null || mc.world == null) return;
if (e.getType() == EventPacket.Type.RECEIVE) {
damageUtil.onPacketEvent(e);
if (e.getPacket() instanceof SPlayerPositionLookPacket) {
strafeMovement.setOldSpeed(0);
}
}
}

@Subscribe
private void onDamage(EventDamageReceive e) {
if (mc.player == null || mc.world == null) return;
damageUtil.processDamage(e);
}

@Subscribe
public void onUpdate(EventUpdate e) {
if (mc.player.isOnGround() && !mc.gameSettings.keyBindJump.pressed && target != null && target.isAlive()) {
mc.player.jump();
}
}

@override
public boolean onEnable() {
strafeMovement.setOldSpeed(0);
target = null;
super.onEnable();
return false;
}

private void handleEventAction(ActionEvent action) {
if (strafes()) {
if (CEntityActionPacket.lastUpdatedSprint != strafeMovement.isNeedSprintState()) {
action.setSprintState(!CEntityActionPacket.lastUpdatedSprint);
}
}
if (strafeMovement.isNeedSwap()) {
action.setSprintState(!mc.player.serverSprintState);
strafeMovement.setNeedSprintState(false);
}
}

private LivingEntity getTarget() {
return aura.isState() ? aura.getTarget() : target;
}

private LivingEntity updateTarget(LivingEntity currentTarget) {
for (Entity entity : mc.world.getAllEntities()) {
if (entity instanceof PlayerEntity && entity.getName().getString().equalsIgnoreCase(targetName)) {
return (LivingEntity) entity;
}
}
return currentTarget;
}

private boolean shouldSaveTarget(LivingEntity target) {
boolean settingIsEnabled = saveTarget.get();
boolean targetAndTargetNameExist = target != null && targetName != null;

return settingIsEnabled && targetAndTargetNameExist && aura.isState();
}

private double getYaw(LivingEntity entity, double x, double z) {
return Math.toDegrees(Math.atan2(z - entity.getPosZ(), x - entity.getPosX())) - 90F;
}

public boolean strafes() {
if (isInvalidPlayerState()) {
return false;
}

BlockPos playerPosition = new BlockPos(mc.player.getPositionVec());
BlockPos abovePosition = playerPosition.up();
BlockPos belowPosition = playerPosition.down();

if (isSurfaceLiquid(abovePosition, belowPosition)) {
return false;
}

if (isPlayerInWebOrSoulSand(playerPosition)) {
return false;
}

return isPlayerAbleToStrafe();
}

private boolean isInvalidPlayerState() {
return mc.player == null || mc.world == null
|| mc.player.isSneaking()
|| mc.player.isElytraFlying()
|| mc.player.isInWater()
|| mc.player.isInLava();
}

private boolean isSurfaceLiquid(BlockPos abovePosition, BlockPos belowPosition) {
Block aboveBlock = mc.world.getBlockState(abovePosition).getBlock();
Block belowBlock = mc.world.getBlockState(belowPosition).getBlock();

return aboveBlock instanceof AirBlock && belowBlock == Blocks.WATER;
}

private boolean isPlayerInWebOrSoulSand(BlockPos playerPosition) {
Material playerMaterial = mc.world.getBlockState(playerPosition).getMaterial();
Block oneBelowBlock = mc.world.getBlockState(playerPosition.down()).getBlock();

return playerMaterial == Material.WEB || oneBelowBlock instanceof SoulSandBlock;
}

private boolean isPlayerAbleToStrafe() {
return !mc.player.abilities.isFlying && !mc.player.isPotionActive(Effects.LEVITATION);
}

}
нахуй зовчик закрыть свой позорный
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу