diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/Column.java b/common/api/src/main/java/com/dfsek/terra/api/util/Column.java index a4eb50189..08e696156 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/util/Column.java +++ b/common/api/src/main/java/com/dfsek/terra/api/util/Column.java @@ -33,15 +33,16 @@ public interface Column { default void forRanges(IntIntObjConsumer consumer) { int min = getMinY(); - int y = min + 1; + int y = min; + + T runningObj = get(y); - T runningObj = get(min); - - int runningMin = min; - int max = (getMaxY() - 1); + + int max = getMaxY() - 1; while(y < max) { + y++; T current = get(y); if(!current.equals(runningObj)) { @@ -49,7 +50,6 @@ public interface Column { runningMin = y; runningObj = current; } - y++; } consumer.accept(runningMin, ++y, runningObj); } diff --git a/common/api/src/test/java/util/ColumnTest.java b/common/api/src/test/java/util/ColumnTest.java index d172f97f2..6fe019802 100644 --- a/common/api/src/test/java/util/ColumnTest.java +++ b/common/api/src/test/java/util/ColumnTest.java @@ -51,7 +51,7 @@ public class ColumnTest { returnY.forRanges((min, max, p) -> list.add(Pair.of(Pair.of(min, max), p))); - assertEquals(IntStream.range(-10, 11).mapToObj(i -> Pair.of(Pair.of(i, i + 1), i)).collect(Collectors.toList()), + assertEquals(IntStream.range(-10, 10).mapToObj(i -> Pair.of(Pair.of(i, i + 1), i)).collect(Collectors.toList()), list); } static class ColumnImpl implements Column {