From bad3d30ead07b17d6ca3ac13317897b1d15ba727 Mon Sep 17 00:00:00 2001 From: Max Date: Sun, 6 Feb 2022 13:10:40 +0100 Subject: [PATCH] Make DeferredRegister iterable Signed-off-by: Max --- .../architectury/registry/DeferredRegister.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/me/shedaniel/architectury/registry/DeferredRegister.java b/common/src/main/java/me/shedaniel/architectury/registry/DeferredRegister.java index c81f154f..a89200a8 100644 --- a/common/src/main/java/me/shedaniel/architectury/registry/DeferredRegister.java +++ b/common/src/main/java/me/shedaniel/architectury/registry/DeferredRegister.java @@ -22,17 +22,17 @@ package me.shedaniel.architectury.registry; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.LazyLoadedValue; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.function.Supplier; -public class DeferredRegister { +public class DeferredRegister implements Iterable> { private final Supplier registriesSupplier; private final ResourceKey> key; private final List> entries = new ArrayList<>(); + private final List> entryView = Collections.unmodifiableList(entries); private boolean registered = false; @Nullable private String modId; @@ -92,6 +92,12 @@ public class DeferredRegister { } } + @NotNull + @Override + public Iterator> iterator() { + return entryView.iterator(); + } + private class Entry implements RegistrySupplier { private final ResourceLocation id; private final Supplier supplier;