From 2307138fa8239733b918827d6a73cf18f3291896 Mon Sep 17 00:00:00 2001 From: dfsek Date: Wed, 8 Jun 2022 18:35:49 -0700 Subject: [PATCH] add IntObjConsumer and forEach implementation in Column --- .../src/main/java/com/dfsek/terra/api/util/Column.java | 10 +++++++++- .../dfsek/terra/api/util/function/IntObjConsumer.java | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/util/function/IntObjConsumer.java 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 dadceebe6..87c1d1416 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 @@ -1,5 +1,7 @@ package com.dfsek.terra.api.util; +import com.dfsek.terra.api.util.function.IntObjConsumer; + import com.google.common.collect.ImmutableList; import java.util.ArrayList; @@ -20,9 +22,15 @@ public interface Column { } } + default void forEach(IntObjConsumer consumer) { + for(int y = getMinY(); y < getMaxY(); y++) { + consumer.accept(y, get(y)); + } + } + default List asList() { List list = new ArrayList<>(); - forEach(list::add); + forEach((Consumer) list::add); return list; } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/function/IntObjConsumer.java b/common/api/src/main/java/com/dfsek/terra/api/util/function/IntObjConsumer.java new file mode 100644 index 000000000..4e9c9e54b --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/util/function/IntObjConsumer.java @@ -0,0 +1,6 @@ +package com.dfsek.terra.api.util.function; + +@FunctionalInterface +public interface IntObjConsumer { + void accept(int i, T obj); +}