From e65cf9be2cd470c6584db508065aef46d00cca1b Mon Sep 17 00:00:00 2001 From: Auxilor Date: Thu, 3 Feb 2022 17:17:01 +0000 Subject: [PATCH] Added extra methods to Items --- .../java/com/willfp/eco/core/items/Items.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/eco-api/src/main/java/com/willfp/eco/core/items/Items.java b/eco-api/src/main/java/com/willfp/eco/core/items/Items.java index 7e9d5c5e..4b2c6285 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/items/Items.java +++ b/eco-api/src/main/java/com/willfp/eco/core/items/Items.java @@ -20,6 +20,7 @@ import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Optional; @@ -344,6 +345,35 @@ public final class Items { } } + /** + * Convert an array of materials to an array of testable items. + * + * @param materials The materials. + * @return An array of functionally identical testable items. + */ + @NotNull + public static TestableItem[] fromMaterials(@NotNull final Material... materials) { + return Arrays.stream(materials) + .map(MaterialTestableItem::new) + .toArray(MaterialTestableItem[]::new); + } + + /** + * Convert a collection of materials into a collection of testable items. + * + * @param materials The materials. + * @return A collection of functionally identical testable items. + */ + @NotNull + public static Collection fromMaterials(@NotNull final Iterable materials) { + List items = new ArrayList<>(); + for (Material material : materials) { + items.add(new MaterialTestableItem(material)); + } + + return items; + } + private Items() { throw new UnsupportedOperationException("This is a utility class and cannot be instantiated"); }