Skip to content

Commit e3f0c0e

Browse files
committed
some tweaks
1 parent e1cca0d commit e3f0c0e

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

src/main/java/birsy/clinker/common/world/entity/system/chainlightning/ChainLightning.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
package birsy.clinker.common.world.entity.system.chainlightning;
22

33
import birsy.clinker.client.particle.ChainLightningParticle;
4+
import net.minecraft.Util;
45
import net.minecraft.core.particles.ParticleTypes;
56
import net.minecraft.server.level.ServerLevel;
67
import net.minecraft.util.Mth;
78
import net.minecraft.world.entity.Entity;
89
import net.minecraft.world.entity.LivingEntity;
10+
import net.minecraft.world.entity.ai.behavior.ShufflingList;
911
import net.minecraft.world.phys.Vec3;
1012
import net.tslat.smartbrainlib.util.EntityRetrievalUtil;
13+
import net.tslat.smartbrainlib.util.RandomUtil;
1114

1215
import java.util.*;
1316
import java.util.function.BiConsumer;
@@ -57,10 +60,10 @@ void tick() {
5760
if (conductionRadius <= 0.01) return true;
5861

5962
List<Entity> nearbyEntities = EntityRetrievalUtil.getEntities(entity, conductionRadius, e -> !visitedEntities.contains(e));
60-
nearbyEntities.sort(Comparator.comparingDouble(e -> e.distanceTo(entity)));
6163

62-
// we can shock a maximum of five neighbors.
63-
int entitiesToIterate = Math.min(5, nearbyEntities.size());
64+
int maximumShockableNeighbors = 3;
65+
if (nearbyEntities.size() > maximumShockableNeighbors) Util.shuffle(nearbyEntities, level.getRandom());
66+
int entitiesToIterate = Math.min(maximumShockableNeighbors, nearbyEntities.size());
6467
for (int i = 0; i < entitiesToIterate; i++) {
6568
Entity nearby = nearbyEntities.get(i);
6669
entitiesToShock.add(nearby);
14.1 KB
Loading

0 commit comments

Comments
 (0)