Не могу проверить entity и при использовании предмета выдавать эффекты ему

        package net.undertaker.timeofsacrificemod.item.custom;

    import net.minecraft.world.item.Item;
    import net.minecraft.world.item.ItemStack;
    import net.minecraft.world.InteractionResultHolder;
    import net.minecraft.world.InteractionHand;
    import net.minecraft.world.effect.MobEffectInstance;
    import net.minecraft.world.effect.MobEffects;
    import net.minecraft.world.entity.Entity;
    import net.minecraft.world.entity.LivingEntity;
    import net.minecraft.world.entity.player.Player;
    import net.minecraft.world.level.Level;
    import net.minecraft.world.phys.EntityHitResult;
    import net.minecraft.world.phys.HitResult;

    import java.util.Properties;

    public class SpeedStimulatorItem extends Item {

        public SpeedStimulatorItem(Properties properties) {
            super(properties);
        }

        @Override
        public InteractionResultHolder<ItemStack> use(Level level, Player player, InteractionHand interactionHand) {
            
            if (!level.isClientSide()) {
                // Получаем результат трассировки луча
                EntityHitResult entityHitResult = player.rayTrace (8.0D, 1.0F, false);
                
                // Если курсор нацелен на сущность, применяем эффекты
                if (entityHitResult != null && entityHitResult.getType() == HitResult.Type.ENTITY) {
                    Entity targetEntity = entityHitResult.getEntity();
                    if (targetEntity instanceof LivingEntity) {
                        LivingEntity livingEntity = (LivingEntity) targetEntity;
                        applyEffects(livingEntity);
                    }
                } else {
                    // Иначе применяем эффекты на себя
                    applyEffects(player);
                }
            }

            return super.use(level, player, interactionHand);
        }

        // Метод для применения эффектов на сущность
        private void applyEffects(LivingEntity livingEntity) {
            // Добавляем эффект регенерации на 10 секунд с уровнем 1
            livingEntity.addEffect(new MobEffectInstance(MobEffects.REGENERATION, 10 * 20, 0));

            // Добавляем эффект силы на 10 секунд с уровнем 1
            livingEntity.addEffect(new MobEffectInstance(MobEffects.DAMAGE_BOOST, 10 * 20, 0));

            // Добавляем эффект скорости на 10 секунд с уровнем 1
            livingEntity.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 10 * 20, 0)); 
        }
    }

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

  EntityHitResult entityHitResult = player.rayTrace (8.0D, 1.0F, false); 

И я не знаю как её исправить. Буквально. Версия Forge 43.3.5, для Minecraft 1.19.2


Ответы (0 шт):