diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt index cbf2a6e68..1ed4493bb 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt @@ -3,8 +3,6 @@ package ru.dbotthepony.mc.otm.registry import net.minecraft.advancements.CriteriaTriggers import net.minecraft.client.renderer.item.ItemProperties import net.minecraft.core.BlockPos -import net.minecraft.core.Registry -import net.minecraft.resources.ResourceKey import net.minecraft.resources.ResourceLocation import net.minecraft.world.damagesource.DamageSource import net.minecraft.world.entity.EntityType @@ -17,10 +15,7 @@ import net.minecraft.world.level.material.MaterialColor import net.minecraftforge.eventbus.api.IEventBus import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent -import net.minecraftforge.registries.ForgeRegistry -import net.minecraftforge.registries.IForgeRegistry import net.minecraftforge.registries.NewRegistryEvent -import net.minecraftforge.registries.RegistryBuilder import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.android.AndroidFeatureType import ru.dbotthepony.mc.otm.android.feature.EnderTeleporterFeature @@ -51,37 +46,6 @@ import ru.dbotthepony.mc.otm.triggers.NanobotsArmorTrigger import ru.dbotthepony.mc.otm.triggers.PhantomSpawnDeniedTrigger import ru.dbotthepony.mc.otm.triggers.ShockwaveDamageMobTrigger import ru.dbotthepony.mc.otm.triggers.ShockwaveTrigger -import java.util.function.Supplier -import kotlin.properties.ReadOnlyProperty -import kotlin.reflect.KProperty - -private class RegistryDelegate(key: String) : ReadOnlyProperty> { - private var value: Supplier?>? = null - - val location = ResourceLocation(OverdriveThatMatters.MOD_ID, key) - val key: ResourceKey> = ResourceKey.createRegistryKey(location) - - fun get(): ForgeRegistry { - val supp = value ?: throw IllegalStateException("Tried to access uninitialized registry $location") - return supp.get() as ForgeRegistry? ?: throw IllegalStateException("Accessing registry $location too early") - } - - override fun getValue(thisRef: Any, property: KProperty<*>): ForgeRegistry { - return get() - } - - fun build(event: NewRegistryEvent) { - if (value != null) { - throw IllegalStateException("Already built registry $location!") - } - - value = RegistryBuilder().let { - it.setName(location) - // it.type = AndroidFeatureType::class.java - event.create(it) - } - } -} object MRegistry { private val features = RegistryDelegate>("android_features") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/RegistryDelegate.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/RegistryDelegate.kt new file mode 100644 index 000000000..1ff883edc --- /dev/null +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/RegistryDelegate.kt @@ -0,0 +1,41 @@ +package ru.dbotthepony.mc.otm.registry + +import net.minecraft.core.Registry +import net.minecraft.resources.ResourceKey +import net.minecraft.resources.ResourceLocation +import net.minecraftforge.registries.ForgeRegistry +import net.minecraftforge.registries.IForgeRegistry +import net.minecraftforge.registries.NewRegistryEvent +import net.minecraftforge.registries.RegistryBuilder +import ru.dbotthepony.mc.otm.OverdriveThatMatters +import java.util.function.Supplier +import kotlin.properties.ReadOnlyProperty +import kotlin.reflect.KProperty + +class RegistryDelegate(key: String) : ReadOnlyProperty> { + private var value: Supplier?>? = null + + val location = ResourceLocation(OverdriveThatMatters.MOD_ID, key) + val key: ResourceKey> = ResourceKey.createRegistryKey(location) + + fun get(): ForgeRegistry { + val supp = value ?: throw IllegalStateException("Tried to access uninitialized registry $location") + return supp.get() as ForgeRegistry? ?: throw IllegalStateException("Accessing registry $location too early") + } + + override fun getValue(thisRef: Any, property: KProperty<*>): ForgeRegistry { + return get() + } + + fun build(event: NewRegistryEvent) { + if (value != null) { + throw IllegalStateException("Already built registry $location!") + } + + value = RegistryBuilder().let { + it.setName(location) + // it.type = AndroidFeatureType::class.java + event.create(it) + } + } +}