diff --git a/src/main/java/net/minecraftforge/common/DimensionManager.java b/src/main/java/net/minecraftforge/common/DimensionManager.java index 8a73366c0c..19ce39c871 100644 --- a/src/main/java/net/minecraftforge/common/DimensionManager.java +++ b/src/main/java/net/minecraftforge/common/DimensionManager.java @@ -87,7 +87,7 @@ public class DimensionManager * @param type Dimension Type. * @param data Configuration data for this dimension, passed into */ - public static void registerDimension(ResourceLocation name, ModDimension type, PacketBuffer data) + public static DimensionType registerDimension(ResourceLocation name, ModDimension type, PacketBuffer data) { Validate.notNull(name, "Can not register a dimesnion with null name"); Validate.isTrue(!REGISTRY.func_212607_c(name), "Dimension: " + name + " Already registered"); @@ -105,6 +105,7 @@ public class DimensionManager DimensionType instance = new DimensionType(id, "", name.getNamespace() + "/" + name.getPath(), type.getFactory(), type, data); REGISTRY.register(id, name, instance); LOGGER.info(DIMMGR, "Registered dimension {} of type {} and id {}", name.toString(), type.getRegistryName().toString(), id); + return instance; } /** @@ -170,7 +171,7 @@ public class DimensionManager dimensions.remove(id); } - public static void registerDimensionInternal(int id, ResourceLocation name, ModDimension type, PacketBuffer data) + public static DimensionType registerDimensionInternal(int id, ResourceLocation name, ModDimension type, PacketBuffer data) { Validate.notNull(name, "Can not register a dimesnion with null name"); Validate.notNull(type, "Can not register a null dimension type"); @@ -180,6 +181,7 @@ public class DimensionManager DimensionType instance = new DimensionType(id, "", name.getNamespace() + "/" + name.getPath(), type.getFactory(), type, data); REGISTRY.register(id, name, instance); LOGGER.info(DIMMGR, "Registered dimension {} of type {} and id {}", name.toString(), type.getRegistryName().toString(), id); + return instance; } @SuppressWarnings("deprecation") diff --git a/src/main/java/net/minecraftforge/registries/ForgeRegistry.java b/src/main/java/net/minecraftforge/registries/ForgeRegistry.java index 5842be22fe..d764fe593a 100644 --- a/src/main/java/net/minecraftforge/registries/ForgeRegistry.java +++ b/src/main/java/net/minecraftforge/registries/ForgeRegistry.java @@ -190,6 +190,12 @@ public class ForgeRegistry> implements IForgeRe return this.names.containsValue(value); } + @Override + public boolean isEmpty() + { + return this.names.isEmpty(); + } + @Override public V getValue(ResourceLocation key) { diff --git a/src/main/java/net/minecraftforge/registries/IForgeRegistry.java b/src/main/java/net/minecraftforge/registries/IForgeRegistry.java index fd6e0a1af0..e466c16233 100644 --- a/src/main/java/net/minecraftforge/registries/IForgeRegistry.java +++ b/src/main/java/net/minecraftforge/registries/IForgeRegistry.java @@ -44,6 +44,7 @@ public interface IForgeRegistry> extends Iterab boolean containsKey(ResourceLocation key); boolean containsValue(V value); + boolean isEmpty(); @Nullable V getValue(ResourceLocation key); @Nullable ResourceLocation getKey(V value); diff --git a/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java b/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java index 4a664cd161..2f922a8f45 100644 --- a/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java +++ b/src/main/java/net/minecraftforge/registries/NamespacedDefaultedWrapper.java @@ -133,6 +133,12 @@ class NamespacedDefaultedWrapper> extends Regis return this.delegate.getDefaultKey(); } + @Override + public boolean isEmpty() + { + return this.delegate.isEmpty(); + } + //internal @Override public void lock(){ this.locked = true; } diff --git a/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java b/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java index f27cfd09a8..191979b9d1 100644 --- a/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java +++ b/src/main/java/net/minecraftforge/registries/NamespacedWrapper.java @@ -121,6 +121,12 @@ class NamespacedWrapper> extends RegistryNamesp return values.stream().skip(random.nextInt(values.size())).findFirst().orElse(null); } + @Override + public boolean isEmpty() + { + return this.delegate.isEmpty(); + } + //internal @Override public void lock(){ this.locked = true; }