diff --git a/src/main/java/ru/betterend/entity/EntityDragonfly.java b/src/main/java/ru/betterend/entity/EntityDragonfly.java index 92c9db6f..16279b57 100644 --- a/src/main/java/ru/betterend/entity/EntityDragonfly.java +++ b/src/main/java/ru/betterend/entity/EntityDragonfly.java @@ -154,14 +154,28 @@ public class EntityDragonfly extends AnimalEntity implements Flutterer { Vec3d rotation = EntityDragonfly.this.getRotationVec(0.0F); Vec3d airPos = TargetFinder.findAirTarget(EntityDragonfly.this, 8, 7, rotation, 1.5707964F, 2, 1); if (airPos != null) { - if (h > 5) { + if (isInVoid(airPos)) { + for (int i = 0; i < 8; i++) { + airPos = TargetFinder.findAirTarget(EntityDragonfly.this, 16, 7, rotation, MHelper.PI2, 2, 1); + if (!isInVoid(airPos)) { + return airPos; + } + } + return null; + } + if (h > 5 && airPos.getY() >= EntityDragonfly.this.getBlockPos().getY()) { airPos = new Vec3d(airPos.x, airPos.y - h * 0.5, airPos.z); } return airPos; } return TargetFinder.findGroundTarget(EntityDragonfly.this, 8, 4, -2, rotation, 1.5707963705062866D); } - } + + private boolean isInVoid(Vec3d pos) { + int h = BlocksHelper.downRay(EntityDragonfly.this.world, new BlockPos(pos), 128); + return h > 100; + } + } @Override public PassiveEntity createChild(ServerWorld world, PassiveEntity entity) { diff --git a/src/main/java/ru/betterend/mixin/common/BiomeMixin.java b/src/main/java/ru/betterend/mixin/common/BiomeMixin.java index 79f6c626..dfbfd2e0 100644 --- a/src/main/java/ru/betterend/mixin/common/BiomeMixin.java +++ b/src/main/java/ru/betterend/mixin/common/BiomeMixin.java @@ -13,7 +13,6 @@ import net.minecraft.world.biome.GenerationSettings; import net.minecraft.world.gen.ChunkRandom; import net.minecraft.world.gen.StructureAccessor; import net.minecraft.world.gen.chunk.ChunkGenerator; - import ru.betterend.registry.FeatureRegistry; @Mixin(Biome.class) diff --git a/src/main/java/ru/betterend/util/BlocksHelper.java b/src/main/java/ru/betterend/util/BlocksHelper.java index a4426937..6f45ebff 100644 --- a/src/main/java/ru/betterend/util/BlocksHelper.java +++ b/src/main/java/ru/betterend/util/BlocksHelper.java @@ -18,7 +18,6 @@ import net.minecraft.util.math.BlockPos.Mutable; import net.minecraft.util.math.Direction; import net.minecraft.util.math.Vec3i; import net.minecraft.world.WorldAccess; - import ru.betterend.blocks.BlockBlueVine; import ru.betterend.blocks.basis.BlockDoublePlant; import ru.betterend.blocks.basis.BlockGlowingFur;