Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
at master 75 lines 2.6 kB view raw
1package net.lerariemann.infinity.registry.var; 2 3import dev.architectury.registry.registries.DeferredRegister; 4import dev.architectury.registry.registries.RegistrySupplier; 5import net.lerariemann.infinity.block.custom.AltarBlock; 6import net.minecraft.client.particle.ParticleEngine; 7import net.minecraft.core.particles.ParticleType; 8import net.minecraft.core.particles.SimpleParticleType; 9import net.minecraft.core.registries.Registries; 10//? if fabric { 11import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry; 12//?} 13//? if neoforge { 14/*import net.neoforged.neoforge.client.event.RegisterParticleProvidersEvent; 15*///?} 16//? if forge { 17/*import net.minecraftforge.client.event.RegisterParticleProvidersEvent; 18*///?} 19 20//? if <1.21 { 21/*import net.minecraft.client.particle.EnchantmentTableParticle; 22*///?} else { 23import net.minecraft.client.particle.FlyTowardsPositionParticle; 24//?} 25 26import java.util.ArrayList; 27import java.util.List; 28 29import static net.lerariemann.infinity.InfinityMod.MOD_ID; 30 31public class ModParticles { 32 public static final DeferredRegister<ParticleType<?>> PARTICLES = 33 DeferredRegister.create(MOD_ID, Registries.PARTICLE_TYPE); 34 public static final List<RegistrySupplier<SimpleParticleType>> altarParticles = new ArrayList<>(); 35 36 static class Type extends SimpleParticleType { 37 protected Type() { 38 super(false); 39 } 40 } 41 private static void register(String key) { 42 RegistrySupplier<SimpleParticleType> v = PARTICLES.register(key, Type::new); 43 altarParticles.add(v); 44 } 45 46 public static void registerServer() { 47 for (int i = 0; i < AltarBlock.numColors; i++) register("altar_" + i); 48 PARTICLES.register(); 49 } 50 51 //? if fabric { 52 public static void registerClientFabric() { 53 for (RegistrySupplier<SimpleParticleType> p : altarParticles) { 54 ParticleFactoryRegistry.getInstance().register( 55 //?} 56 //? if neoforge { 57 /*public static void registerClientNeoforge(RegisterParticleProvidersEvent event) { 58 for (RegistrySupplier<SimpleParticleType> p : altarParticles) { 59 event.registerSpriteSet( 60 *///?} 61 //? if forge { 62 /*public static void registerClientForge(RegisterParticleProvidersEvent event) { 63 for (RegistrySupplier<SimpleParticleType> p : altarParticles) { 64 event.registerSpriteSet( 65 *///?} 66 p.get(), 67 //? if <1.21 { 68 /*EnchantmentTableParticle.Provider::new 69 *///?} else { 70 FlyTowardsPositionParticle.EnchantProvider::new 71 //?} 72 ); 73 } 74 } 75}