Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
at master 45 lines 2.0 kB view raw
1package net.lerariemann.infinity.registry.var; 2 3//? fabric { 4 5import net.fabricmc.fabric.api.object.builder.v1.world.poi.PointOfInterestHelper; 6//?} 7import com.google.common.collect.ImmutableSet; 8import dev.architectury.registry.registries.DeferredRegister; 9import dev.architectury.registry.registries.RegistrySupplier; 10import net.lerariemann.infinity.InfinityMod; 11import net.lerariemann.infinity.registry.core.ModBlocks; 12import net.lerariemann.infinity.util.InfinityMethods; 13import net.lerariemann.infinity.util.platform.InfinityPlatform; 14import net.minecraft.core.registries.Registries; 15import net.minecraft.resources.ResourceKey; 16import net.minecraft.world.entity.ai.village.poi.PoiType; 17 18import static net.lerariemann.infinity.InfinityMod.MOD_ID; 19 20public class ModPoi { 21 public static RegistrySupplier<PoiType> NEITHER_PORTAL; 22 public static ResourceKey<PoiType> NEITHER_PORTAL_KEY; 23 24 public static void registerPoi() { 25 InfinityMod.LOGGER.debug("Registering POI for " + InfinityMod.MOD_ID); 26 if (InfinityPlatform.INSTANCE.isFabric()) registerPoiFabric(); 27 else registerPoiArchitectury(); 28 NEITHER_PORTAL_KEY = ResourceKey.create(Registries.POINT_OF_INTEREST_TYPE, InfinityMethods.getId("neither_portal")); 29 30 } 31 32 // Deferred handling of Poi through Architectury API, works on NeoForge. 33 public static void registerPoiArchitectury() { 34 final DeferredRegister<PoiType> POI_TYPES = DeferredRegister.create(MOD_ID, Registries.POINT_OF_INTEREST_TYPE); 35 NEITHER_PORTAL = POI_TYPES.register("neither_portal", () -> new PoiType(ImmutableSet.copyOf(ModBlocks.PORTAL.get().getStateDefinition().getPossibleStates()), 0, 1)); 36 POI_TYPES.register(); 37 } 38 39 public static void registerPoiFabric() { 40 //? fabric { 41 PointOfInterestHelper.register(InfinityMethods.getId("neither_portal"), 0, 1, 42 ImmutableSet.copyOf(ModBlocks.PORTAL.get().getStateDefinition().getPossibleStates())); 43 //?} 44 } 45}