Progress to Next Update #65

Merged
SenseiKiwi merged 12 commits from master into master 2013-08-04 03:29:02 +00:00
Showing only changes of commit b7327b2bf6 - Show all commits

View File

@@ -162,12 +162,12 @@ public class BlockRift extends BlockContainer
if (random.nextInt(MAX_BLOCK_SEARCH_CHANCE) < BLOCK_SEARCH_CHANCE && if (random.nextInt(MAX_BLOCK_SEARCH_CHANCE) < BLOCK_SEARCH_CHANCE &&
((TileEntityRift) world.getBlockTileEntity(x, y, z)).isNearRift ) ((TileEntityRift) world.getBlockTileEntity(x, y, z)).isNearRift )
{ {
DestroyNearbyBlocks(world, x, y, z, random); destroyNearbyBlocks(world, x, y, z, random);
} }
} }
} }
private void DestroyNearbyBlocks(World world, int x, int y, int z, Random random) private void destroyNearbyBlocks(World world, int x, int y, int z, Random random)
{ {
HashMap<Point3D, Integer> pointDistances = new HashMap<Point3D, Integer>(BLOCK_DESTRUCTION_VOLUME); HashMap<Point3D, Integer> pointDistances = new HashMap<Point3D, Integer>(BLOCK_DESTRUCTION_VOLUME);
Queue<Point3D> points = new LinkedList<Point3D>(); Queue<Point3D> points = new LinkedList<Point3D>();
@@ -175,7 +175,7 @@ public class BlockRift extends BlockContainer
//Perform a breadth-first search outwards from the point at which the rift is located. Record the distances //Perform a breadth-first search outwards from the point at which the rift is located. Record the distances
//of the points we visit to stop the search at its maximum range. //of the points we visit to stop the search at its maximum range.
pointDistances.put(new Point3D(x, y, z), 0); pointDistances.put(new Point3D(x, y, z), 0);
AddSurroundingBlocks(x, y, z, 1, pointDistances, points); AddSurroundingBlocks(x, y, z, 0, pointDistances, points);
while (!points.isEmpty()) while (!points.isEmpty())
{ {
Point3D current = points.remove(); Point3D current = points.remove();
@@ -187,7 +187,7 @@ public class BlockRift extends BlockContainer
//Make sure we stay within the search range //Make sure we stay within the search range
if (distance < BLOCK_DESTRUCTION_RANGE) if (distance < BLOCK_DESTRUCTION_RANGE)
{ {
AddSurroundingBlocks(current.getX(), current.getY(), current.getZ(), distance + 1, pointDistances, points); addSurroundingBlocks(current.getX(), current.getY(), current.getZ(), distance, pointDistances, points);
} }
} }
else else
@@ -203,7 +203,7 @@ public class BlockRift extends BlockContainer
} }
} }
private void AddSurroundingBlocks(int x, int y, int z, int distance, HashMap<Point3D, Integer> pointDistances, Queue<Point3D> points) private void addSurroundingBlocks(int x, int y, int z, int distance, HashMap<Point3D, Integer> pointDistances, Queue<Point3D> points)
{ {
Point3D[] neighbors = new Point3D[] { Point3D[] neighbors = new Point3D[] {
new Point3D(x - 1, y, z), new Point3D(x - 1, y, z),
@@ -217,7 +217,7 @@ public class BlockRift extends BlockContainer
{ {
if (!pointDistances.containsKey(neighbors[index])) if (!pointDistances.containsKey(neighbors[index]))
{ {
pointDistances.put(neighbors[index], distance); pointDistances.put(neighbors[index], distance + 1);
points.add(neighbors[index]); points.add(neighbors[index]);
} }
} }