package info.u_team.u_team_test.init;

import info.u_team.u_team_core.dimension.UModDimension;
import info.u_team.u_team_core.util.registry.BaseRegistryUtil;
import info.u_team.u_team_test.TestMod;
import info.u_team.u_team_test.dimension.BasicDimension;
import net.minecraftforge.common.ModDimension;
import net.minecraftforge.event.RegistryEvent.Register;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;

@EventBusSubscriber(modid = TestMod.MODID, bus = Bus.MOD)
public class TestModDimensions {
	
	public static final ModDimension BASIC = new UModDimension("basic", BasicDimension::new);
	
	@SubscribeEvent
	public static void register(Register<ModDimension> event) {
		BaseRegistryUtil.getAllRegistryEntriesAndApplyNames(TestMod.MODID, ModDimension.class).forEach(event.getRegistry()::register);
	}
	
}

@@ -240,32 +240,68 @@
 BasicDimension;%0A
+import net.minecraft.potion.Effect;%0A
 import net.minec
@@ -426,30 +426,17 @@
 bus.api.
-SubscribeEvent
+*
 ;%0Aimport
@@ -554,16 +554,56 @@
 ber.Bus;
+%0Aimport net.minecraftforge.registries.*;
 %0A%0A@Event
@@ -714,80 +714,308 @@
 nal 
-ModDimension BASIC = new UModDimension(%22basic%22, BasicDimension::new);%0A%09%0A
+DeferredRegister%3CModDimension%3E MOD_DIMENSIONS = DeferredRegister.create(ForgeRegistries.MOD_DIMENSIONS, TestMod.MODID);%0A%09%0A%09public static final ModDimension BASIC = new UModDimension(%22basic%22, BasicDimension::new);%0A%09%0A%09public static void register(IEventBus bus) %7B%0A%09%09MOD_DIMENSIONS.register(bus);%0A%09%7D%0A%09%0A//
 %09@Su
@@ -1027,16 +1027,18 @@
 beEvent%0A
+//
 %09public 
@@ -1090,16 +1090,18 @@
 vent) %7B%0A
+//
 %09%09BaseRe
@@ -1221,15 +1221,19 @@
 ister);%0A
+//
 %09%7D%0A
+//
 %09%0A%7D%0A

Add deferred register to mod dimensions