From 9f8140fdec6e8a5440fb4bdaf36134f6741bc9de Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 25 Jun 2021 23:48:25 +0800 Subject: [PATCH] Some changes - Migrate from ParticleFactories to ParticleProviderRegistry (We are not yarn) - Format Code Signed-off-by: shedaniel --- ...ies.java => ParticleProviderRegistry.java} | 9 ++-- ...java => ParticleProviderRegistryImpl.java} | 26 +++++----- ...java => ParticleProviderRegistryImpl.java} | 51 ++++++++++--------- .../test/particle/TestParticles.java | 4 +- 4 files changed, 47 insertions(+), 43 deletions(-) rename common/src/main/java/me/shedaniel/architectury/registry/{ParticleFactories.java => ParticleProviderRegistry.java} (96%) rename fabric/src/main/java/me/shedaniel/architectury/registry/fabric/{ParticleFactoriesImpl.java => ParticleProviderRegistryImpl.java} (89%) rename forge/src/main/java/me/shedaniel/architectury/registry/forge/{ParticleFactoriesImpl.java => ParticleProviderRegistryImpl.java} (85%) diff --git a/common/src/main/java/me/shedaniel/architectury/registry/ParticleFactories.java b/common/src/main/java/me/shedaniel/architectury/registry/ParticleProviderRegistry.java similarity index 96% rename from common/src/main/java/me/shedaniel/architectury/registry/ParticleFactories.java rename to common/src/main/java/me/shedaniel/architectury/registry/ParticleProviderRegistry.java index 73352c53..f3d9bb26 100644 --- a/common/src/main/java/me/shedaniel/architectury/registry/ParticleFactories.java +++ b/common/src/main/java/me/shedaniel/architectury/registry/ParticleProviderRegistry.java @@ -32,22 +32,23 @@ import net.minecraft.core.particles.ParticleType; import java.util.List; @Environment(EnvType.CLIENT) -public final class ParticleFactories { +public final class ParticleProviderRegistry { public interface ExtendedSpriteSet extends SpriteSet { TextureAtlas getAtlas(); + List getSprites(); } - + @ExpectPlatform public static void register(ParticleType type, ParticleProvider provider) { throw new AssertionError(); } - + @ExpectPlatform public static void register(ParticleType type, DeferredParticleProvider provider) { throw new AssertionError(); } - + @FunctionalInterface public interface DeferredParticleProvider { ParticleProvider create(ExtendedSpriteSet spriteSet); diff --git a/fabric/src/main/java/me/shedaniel/architectury/registry/fabric/ParticleFactoriesImpl.java b/fabric/src/main/java/me/shedaniel/architectury/registry/fabric/ParticleProviderRegistryImpl.java similarity index 89% rename from fabric/src/main/java/me/shedaniel/architectury/registry/fabric/ParticleFactoriesImpl.java rename to fabric/src/main/java/me/shedaniel/architectury/registry/fabric/ParticleProviderRegistryImpl.java index 66b25230..87d47d56 100644 --- a/fabric/src/main/java/me/shedaniel/architectury/registry/fabric/ParticleFactoriesImpl.java +++ b/fabric/src/main/java/me/shedaniel/architectury/registry/fabric/ParticleProviderRegistryImpl.java @@ -19,7 +19,7 @@ package me.shedaniel.architectury.registry.fabric; -import me.shedaniel.architectury.registry.ParticleFactories; +import me.shedaniel.architectury.registry.ParticleProviderRegistry; import net.fabricmc.fabric.api.client.particle.v1.FabricSpriteProvider; import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry; import net.minecraft.client.particle.ParticleProvider; @@ -31,41 +31,41 @@ import net.minecraft.core.particles.ParticleType; import java.util.List; import java.util.Random; -public class ParticleFactoriesImpl { - public static class ExtendedSpriteSetImpl implements ParticleFactories.ExtendedSpriteSet { +public class ParticleProviderRegistryImpl { + public static class ExtendedSpriteSetImpl implements ParticleProviderRegistry.ExtendedSpriteSet { private final FabricSpriteProvider delegate; - + public ExtendedSpriteSetImpl(FabricSpriteProvider delegate) { this.delegate = delegate; } - + @Override public TextureAtlas getAtlas() { return delegate.getAtlas(); } - + @Override public List getSprites() { return delegate.getSprites(); } - + @Override public TextureAtlasSprite get(int i, int j) { return delegate.get(i, j); } - + @Override public TextureAtlasSprite get(Random random) { return delegate.get(random); } } - + public static void register(ParticleType type, ParticleProvider provider) { ParticleFactoryRegistry.getInstance().register(type, provider); } - - public static void register(ParticleType type, ParticleFactories.DeferredParticleProvider provider) { - ParticleFactoryRegistry.getInstance().register(type, spriteProvider -> - provider.create(new ExtendedSpriteSetImpl(spriteProvider))); + + public static void register(ParticleType type, ParticleProviderRegistry.DeferredParticleProvider provider) { + ParticleFactoryRegistry.getInstance().register(type, sprites -> + provider.create(new ExtendedSpriteSetImpl(sprites))); } } diff --git a/forge/src/main/java/me/shedaniel/architectury/registry/forge/ParticleFactoriesImpl.java b/forge/src/main/java/me/shedaniel/architectury/registry/forge/ParticleProviderRegistryImpl.java similarity index 85% rename from forge/src/main/java/me/shedaniel/architectury/registry/forge/ParticleFactoriesImpl.java rename to forge/src/main/java/me/shedaniel/architectury/registry/forge/ParticleProviderRegistryImpl.java index 7de4bbe6..c6a95e31 100644 --- a/forge/src/main/java/me/shedaniel/architectury/registry/forge/ParticleFactoriesImpl.java +++ b/forge/src/main/java/me/shedaniel/architectury/registry/forge/ParticleProviderRegistryImpl.java @@ -21,7 +21,7 @@ package me.shedaniel.architectury.registry.forge; import me.shedaniel.architectury.forge.ArchitecturyForge; import me.shedaniel.architectury.mixin.forge.ParticleEngineAccessor; -import me.shedaniel.architectury.registry.ParticleFactories; +import me.shedaniel.architectury.registry.ParticleProviderRegistry; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.ParticleEngine; import net.minecraft.client.particle.ParticleProvider; @@ -39,68 +39,71 @@ import java.util.List; import java.util.Random; @Mod.EventBusSubscriber(modid = ArchitecturyForge.MOD_ID) -public class ParticleFactoriesImpl { - private static final class ExtendedSpriteSetImpl implements ParticleFactories.ExtendedSpriteSet { +public class ParticleProviderRegistryImpl { + private static final class ExtendedSpriteSetImpl implements ParticleProviderRegistry.ExtendedSpriteSet { private final ParticleEngine engine; private final SpriteSet delegate; - + private ExtendedSpriteSetImpl(ParticleEngine engine, SpriteSet delegate) { this.engine = engine; this.delegate = delegate; } - + @Override public TextureAtlas getAtlas() { return ((ParticleEngineAccessor) engine).getTextureAtlas(); } - + @Override public List getSprites() { return ((ParticleEngineAccessor.MutableSpriteSetAccessor) delegate).getSprites(); } - + @Override public TextureAtlasSprite get(int i, int j) { return delegate.get(i, j); } - + @Override public TextureAtlasSprite get(Random random) { return delegate.get(random); } } - + private static ArrayList deferred = new ArrayList<>(); - + private static void _register(ParticleType type, ParticleProvider provider) { Minecraft.getInstance().particleEngine.register(type, provider); } - - private static void _register(ParticleType type, ParticleFactories.DeferredParticleProvider provider) { - Minecraft.getInstance().particleEngine.register(type, spriteSet -> - provider.create(new ExtendedSpriteSetImpl(Minecraft.getInstance().particleEngine, spriteSet))); + + private static void _register(ParticleType type, ParticleProviderRegistry.DeferredParticleProvider provider) { + Minecraft.getInstance().particleEngine.register(type, sprites -> + provider.create(new ExtendedSpriteSetImpl(Minecraft.getInstance().particleEngine, sprites))); } - + public static void register(ParticleType type, ParticleProvider provider) { - if (deferred == null) + if (deferred == null) { _register(type, provider); - else + } else { deferred.add(() -> _register(type, provider)); + } } - - public static void register(ParticleType type, ParticleFactories.DeferredParticleProvider provider) { - if (deferred == null) + + public static void register(ParticleType type, ParticleProviderRegistry.DeferredParticleProvider provider) { + if (deferred == null) { _register(type, provider); - else + } else { deferred.add(() -> _register(type, provider)); + } } - + @SubscribeEvent public static void onParticleFactoryRegister(ParticleFactoryRegisterEvent unused) { if (deferred != null) { // run all deferred registrations - for (Runnable r : deferred) - r.run(); + for (Runnable runnable : deferred) { + runnable.run(); + } // yeet deferred list - register immediately from now on deferred = null; } diff --git a/testmod-common/src/main/java/me/shedaniel/architectury/test/particle/TestParticles.java b/testmod-common/src/main/java/me/shedaniel/architectury/test/particle/TestParticles.java index ba71bbda..9a1f2aca 100644 --- a/testmod-common/src/main/java/me/shedaniel/architectury/test/particle/TestParticles.java +++ b/testmod-common/src/main/java/me/shedaniel/architectury/test/particle/TestParticles.java @@ -21,7 +21,7 @@ package me.shedaniel.architectury.test.particle; import me.shedaniel.architectury.platform.Platform; import me.shedaniel.architectury.registry.DeferredRegister; -import me.shedaniel.architectury.registry.ParticleFactories; +import me.shedaniel.architectury.registry.ParticleProviderRegistry; import me.shedaniel.architectury.registry.RegistrySupplier; import me.shedaniel.architectury.test.TestMod; import me.shedaniel.architectury.utils.Env; @@ -39,6 +39,6 @@ public class TestParticles { public static void initialize() { PARTICLE_TYPES.register(); if (Platform.getEnvironment() == Env.CLIENT) - ParticleFactories.register(TEST_PARTICLE.get(), HeartParticle.Provider::new); + ParticleProviderRegistry.register(TEST_PARTICLE.get(), HeartParticle.Provider::new); } }