From 00cefaefb7630c51465cfe2c3d86941f6b8041b2 Mon Sep 17 00:00:00 2001 From: Arthur Casals Date: Sat, 22 Jun 2019 14:04:14 +0200 Subject: [PATCH] Re-included RANDOM loop, randomized this time --- .../move/SetTargetToNearbyBlockNode.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/terasology/minion/move/SetTargetToNearbyBlockNode.java b/src/main/java/org/terasology/minion/move/SetTargetToNearbyBlockNode.java index 559832a7..bbe59f1f 100644 --- a/src/main/java/org/terasology/minion/move/SetTargetToNearbyBlockNode.java +++ b/src/main/java/org/terasology/minion/move/SetTargetToNearbyBlockNode.java @@ -56,18 +56,18 @@ public BehaviorState modify(Actor actor, BehaviorState result) { private WalkableBlock findRandomNearbyBlock(WalkableBlock startBlock) { WalkableBlock currentBlock = startBlock; - - WalkableBlock[] neighbors = currentBlock.neighbors; - List existingNeighbors = Lists.newArrayList(); - for (WalkableBlock neighbor : neighbors) { - if (neighbor != null) { - existingNeighbors.add(neighbor); + for (int i = 0; i < random.nextInt(10) + 1; i++) { + WalkableBlock[] neighbors = currentBlock.neighbors; + List existingNeighbors = Lists.newArrayList(); + for (WalkableBlock neighbor : neighbors) { + if (neighbor != null) { + existingNeighbors.add(neighbor); + } + } + if (existingNeighbors.size() > 0) { + currentBlock = existingNeighbors.get(random.nextInt(existingNeighbors.size())); } } - if (existingNeighbors.size() > 0) { - currentBlock = existingNeighbors.get(random.nextInt(existingNeighbors.size())); - } - logger.debug(String.format("Looking for a block: my block is %s, found destination %s", startBlock.getBlockPosition(), currentBlock.getBlockPosition())); return currentBlock; }