Class ParticleManager

java.lang.Object
net.minecraft.client.particle.ParticleManager
All Implemented Interfaces:
ResourceReloader

@Environment(CLIENT) public class ParticleManager extends Object implements ResourceReloader
Mappings:
Namespace Name
official emw
intermediary net/minecraft/class_702
named net/minecraft/client/particle/ParticleManager
  • Field Details

    • MAX_PARTICLE_COUNT

      private static final int MAX_PARTICLE_COUNT
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lemw;b:I
      intermediary field_32657 Lnet/minecraft/class_702;field_32657:I
      named MAX_PARTICLE_COUNT Lnet/minecraft/client/particle/ParticleManager;MAX_PARTICLE_COUNT:I
    • PARTICLE_TEXTURE_SHEETS

      private static final List<ParticleTextureSheet> PARTICLE_TEXTURE_SHEETS
      Mappings:
      Namespace Name Mixin selector
      official c Lemw;c:Ljava/util/List;
      intermediary field_17820 Lnet/minecraft/class_702;field_17820:Ljava/util/List;
      named PARTICLE_TEXTURE_SHEETS Lnet/minecraft/client/particle/ParticleManager;PARTICLE_TEXTURE_SHEETS:Ljava/util/List;
    • world

      protected ClientWorld world
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a:Leky;
      intermediary field_3834 Lnet/minecraft/class_702;field_3834:Lnet/minecraft/class_638;
      named world Lnet/minecraft/client/particle/ParticleManager;world:Lnet/minecraft/client/world/ClientWorld;
    • particles

      private final Map<ParticleTextureSheet,Queue<Particle>> particles
      Mappings:
      Namespace Name Mixin selector
      official d Lemw;d:Ljava/util/Map;
      intermediary field_3830 Lnet/minecraft/class_702;field_3830:Ljava/util/Map;
      named particles Lnet/minecraft/client/particle/ParticleManager;particles:Ljava/util/Map;
    • newEmitterParticles

      private final Queue<EmitterParticle> newEmitterParticles
      Mappings:
      Namespace Name Mixin selector
      official e Lemw;e:Ljava/util/Queue;
      intermediary field_3837 Lnet/minecraft/class_702;field_3837:Ljava/util/Queue;
      named newEmitterParticles Lnet/minecraft/client/particle/ParticleManager;newEmitterParticles:Ljava/util/Queue;
    • textureManager

      private final TextureManager textureManager
      Mappings:
      Namespace Name Mixin selector
      official f Lemw;f:Lezd;
      intermediary field_3831 Lnet/minecraft/class_702;field_3831:Lnet/minecraft/class_1060;
      named textureManager Lnet/minecraft/client/particle/ParticleManager;textureManager:Lnet/minecraft/client/texture/TextureManager;
    • random

      private final Random random
      Mappings:
      Namespace Name Mixin selector
      official g Lemw;g:Ljava/util/Random;
      intermediary field_3832 Lnet/minecraft/class_702;field_3832:Ljava/util/Random;
      named random Lnet/minecraft/client/particle/ParticleManager;random:Ljava/util/Random;
    • factories

      private final Int2ObjectMap<ParticleFactory<?>> factories
      Mappings:
      Namespace Name Mixin selector
      official h Lemw;h:Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
      intermediary field_3835 Lnet/minecraft/class_702;field_3835:Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
      named factories Lnet/minecraft/client/particle/ParticleManager;factories:Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
    • newParticles

      private final Queue<Particle> newParticles
      Mappings:
      Namespace Name Mixin selector
      official i Lemw;i:Ljava/util/Queue;
      intermediary field_3836 Lnet/minecraft/class_702;field_3836:Ljava/util/Queue;
      named newParticles Lnet/minecraft/client/particle/ParticleManager;newParticles:Ljava/util/Queue;
    • spriteAwareFactories

      private final Map<Identifier,ParticleManager.SimpleSpriteProvider> spriteAwareFactories
      Mappings:
      Namespace Name Mixin selector
      official j Lemw;j:Ljava/util/Map;
      intermediary field_18300 Lnet/minecraft/class_702;field_18300:Ljava/util/Map;
      named spriteAwareFactories Lnet/minecraft/client/particle/ParticleManager;spriteAwareFactories:Ljava/util/Map;
    • particleAtlasTexture

      private final SpriteAtlasTexture particleAtlasTexture
      Mappings:
      Namespace Name Mixin selector
      official k Lemw;k:Lezb;
      intermediary field_18301 Lnet/minecraft/class_702;field_18301:Lnet/minecraft/class_1059;
      named particleAtlasTexture Lnet/minecraft/client/particle/ParticleManager;particleAtlasTexture:Lnet/minecraft/client/texture/SpriteAtlasTexture;
    • groupCounts

      private final Object2IntOpenHashMap<ParticleGroup> groupCounts
      Mappings:
      Namespace Name Mixin selector
      official l Lemw;l:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
      intermediary field_29072 Lnet/minecraft/class_702;field_29072:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
      named groupCounts Lnet/minecraft/client/particle/ParticleManager;groupCounts:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
  • Constructor Details

    • ParticleManager

      public ParticleManager(ClientWorld world, TextureManager textureManager)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lemw;<init>(Leky;Lezd;)V
      intermediary <init> Lnet/minecraft/class_702;<init>(Lnet/minecraft/class_638;Lnet/minecraft/class_1060;)V
      named <init> Lnet/minecraft/client/particle/ParticleManager;<init>(Lnet/minecraft/client/world/ClientWorld;Lnet/minecraft/client/texture/TextureManager;)V
  • Method Details

    • registerDefaultFactories

      private void registerDefaultFactories()
      Mappings:
      Namespace Name Mixin selector
      official e Lemw;e()V
      intermediary method_3062 Lnet/minecraft/class_702;method_3062()V
      named registerDefaultFactories Lnet/minecraft/client/particle/ParticleManager;registerDefaultFactories()V
    • registerFactory

      private <T extends ParticleEffect> void registerFactory(ParticleType<T> type, ParticleFactory<T> factory)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lhw;Lemx;)V
      intermediary method_3043 Lnet/minecraft/class_702;method_3043(Lnet/minecraft/class_2396;Lnet/minecraft/class_707;)V
      named registerFactory Lnet/minecraft/client/particle/ParticleManager;registerFactory(Lnet/minecraft/particle/ParticleType;Lnet/minecraft/client/particle/ParticleFactory;)V
    • registerFactory

      private <T extends ParticleEffect> void registerFactory(ParticleType<T> type, ParticleManager.SpriteAwareFactory<T> factory)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lhw;Lemw$b;)V
      intermediary method_18834 Lnet/minecraft/class_702;method_18834(Lnet/minecraft/class_2396;Lnet/minecraft/class_702$class_4091;)V
      named registerFactory Lnet/minecraft/client/particle/ParticleManager;registerFactory(Lnet/minecraft/particle/ParticleType;Lnet/minecraft/client/particle/ParticleManager$SpriteAwareFactory;)V
    • reload

      public CompletableFuture<Void> reload(ResourceReloader.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor)
      Performs a reload. Returns a future that is completed when the reload is completed.

      In a reload, there is a prepare stage and an apply stage. For the prepare stage, you should create completable futures with CompletableFuture.supplyAsync(..., prepareExecutor) to ensure the prepare actions are done with the prepare executor. Then, you should have a completable future for all the prepared actions, and call combinedPrepare.thenCompose(synchronizer::waitFor) to notify the synchronizer. Finally, you should run CompletableFuture.thenAcceptAsync(..., applyExecutor) for apply actions. In the end, returns the result of thenAcceptAsync.

      Specified by:
      reload in interface ResourceReloader
      Parameters:
      synchronizer - the synchronizer
      manager - the resource manager
      prepareProfiler - the profiler for prepare stage
      applyProfiler - the profiler for apply stage
      prepareExecutor - the executor for prepare stage
      applyExecutor - the executor for apply stage
      Returns:
      a future for the reload
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Laez;a(Laez$a;Lafe;Lasa;Lasa;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
      intermediary method_25931 Lnet/minecraft/class_3302;method_25931(Lnet/minecraft/class_3302$class_4045;Lnet/minecraft/class_3300;Lnet/minecraft/class_3695;Lnet/minecraft/class_3695;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
      named reload Lnet/minecraft/resource/ResourceReloader;reload(Lnet/minecraft/resource/ResourceReloader$Synchronizer;Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/util/profiler/Profiler;Lnet/minecraft/util/profiler/Profiler;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    • clearAtlas

      public void clearAtlas()
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a()V
      intermediary method_18829 Lnet/minecraft/class_702;method_18829()V
      named clearAtlas Lnet/minecraft/client/particle/ParticleManager;clearAtlas()V
    • loadTextureList

      private void loadTextureList(ResourceManager resourceManager, Identifier id, Map<Identifier,List<Identifier>> result)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lafe;Lyb;Ljava/util/Map;)V
      intermediary method_18836 Lnet/minecraft/class_702;method_18836(Lnet/minecraft/class_3300;Lnet/minecraft/class_2960;Ljava/util/Map;)V
      named loadTextureList Lnet/minecraft/client/particle/ParticleManager;loadTextureList(Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/util/Identifier;Ljava/util/Map;)V
    • addEmitter

      public void addEmitter(Entity entity, ParticleEffect parameters)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lawm;Lhv;)V
      intermediary method_3061 Lnet/minecraft/class_702;method_3061(Lnet/minecraft/class_1297;Lnet/minecraft/class_2394;)V
      named addEmitter Lnet/minecraft/client/particle/ParticleManager;addEmitter(Lnet/minecraft/entity/Entity;Lnet/minecraft/particle/ParticleEffect;)V
    • addEmitter

      public void addEmitter(Entity entity, ParticleEffect parameters, int maxAge)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lawm;Lhv;I)V
      intermediary method_3051 Lnet/minecraft/class_702;method_3051(Lnet/minecraft/class_1297;Lnet/minecraft/class_2394;I)V
      named addEmitter Lnet/minecraft/client/particle/ParticleManager;addEmitter(Lnet/minecraft/entity/Entity;Lnet/minecraft/particle/ParticleEffect;I)V
    • addParticle

      @Nullable public @Nullable Particle addParticle(ParticleEffect parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lhv;DDDDDD)Lemu;
      intermediary method_3056 Lnet/minecraft/class_702;method_3056(Lnet/minecraft/class_2394;DDDDDD)Lnet/minecraft/class_703;
      named addParticle Lnet/minecraft/client/particle/ParticleManager;addParticle(Lnet/minecraft/particle/ParticleEffect;DDDDDD)Lnet/minecraft/client/particle/Particle;
    • createParticle

      @Nullable private <T extends ParticleEffect> @Nullable Particle createParticle(T parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ)
      Mappings:
      Namespace Name Mixin selector
      official b Lemw;b(Lhv;DDDDDD)Lemu;
      intermediary method_3055 Lnet/minecraft/class_702;method_3055(Lnet/minecraft/class_2394;DDDDDD)Lnet/minecraft/class_703;
      named createParticle Lnet/minecraft/client/particle/ParticleManager;createParticle(Lnet/minecraft/particle/ParticleEffect;DDDDDD)Lnet/minecraft/client/particle/Particle;
    • addParticle

      public void addParticle(Particle particle)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lemu;)V
      intermediary method_3058 Lnet/minecraft/class_702;method_3058(Lnet/minecraft/class_703;)V
      named addParticle Lnet/minecraft/client/particle/ParticleManager;addParticle(Lnet/minecraft/client/particle/Particle;)V
    • tick

      public void tick()
      Mappings:
      Namespace Name Mixin selector
      official b Lemw;b()V
      intermediary method_3057 Lnet/minecraft/class_702;method_3057()V
      named tick Lnet/minecraft/client/particle/ParticleManager;tick()V
    • tickParticles

      private void tickParticles(Collection<Particle> particles)
      Ticks all particles belonging to the same texture sheet.
      Parameters:
      particles - a collection of particles from the same sheet
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Ljava/util/Collection;)V
      intermediary method_3048 Lnet/minecraft/class_702;method_3048(Ljava/util/Collection;)V
      named tickParticles Lnet/minecraft/client/particle/ParticleManager;tickParticles(Ljava/util/Collection;)V
    • addTo

      private void addTo(ParticleGroup group, int count)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lhu;I)V
      intermediary method_34022 Lnet/minecraft/class_702;method_34022(Lnet/minecraft/class_5878;I)V
      named addTo Lnet/minecraft/client/particle/ParticleManager;addTo(Lnet/minecraft/client/particle/ParticleGroup;I)V
    • tickParticle

      private void tickParticle(Particle particle)
      Mappings:
      Namespace Name Mixin selector
      official b Lemw;b(Lemu;)V
      intermediary method_3059 Lnet/minecraft/class_702;method_3059(Lnet/minecraft/class_703;)V
      named tickParticle Lnet/minecraft/client/particle/ParticleManager;tickParticle(Lnet/minecraft/client/particle/Particle;)V
    • renderParticles

      public void renderParticles(MatrixStack matrices, VertexConsumerProvider.Immediate vertexConsumers, LightmapTextureManager lightmapTextureManager, Camera camera, float tickDelta)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Ldrw;Leoy$a;Leox;Ldwl;F)V
      intermediary method_3049 Lnet/minecraft/class_702;method_3049(Lnet/minecraft/class_4587;Lnet/minecraft/class_4597$class_4598;Lnet/minecraft/class_765;Lnet/minecraft/class_4184;F)V
      named renderParticles Lnet/minecraft/client/particle/ParticleManager;renderParticles(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider$Immediate;Lnet/minecraft/client/render/LightmapTextureManager;Lnet/minecraft/client/render/Camera;F)V
    • setWorld

      public void setWorld(@Nullable @Nullable ClientWorld world)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Leky;)V
      intermediary method_3045 Lnet/minecraft/class_702;method_3045(Lnet/minecraft/class_638;)V
      named setWorld Lnet/minecraft/client/particle/ParticleManager;setWorld(Lnet/minecraft/client/world/ClientWorld;)V
    • addBlockBreakParticles

      public void addBlockBreakParticles(BlockPos pos, BlockState state)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lgh;Lcnv;)V
      intermediary method_3046 Lnet/minecraft/class_702;method_3046(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
      named addBlockBreakParticles Lnet/minecraft/client/particle/ParticleManager;addBlockBreakParticles(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
    • addBlockBreakingParticles

      public void addBlockBreakingParticles(BlockPos pos, Direction direction)
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lgh;Lgm;)V
      intermediary method_3054 Lnet/minecraft/class_702;method_3054(Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)V
      named addBlockBreakingParticles Lnet/minecraft/client/particle/ParticleManager;addBlockBreakingParticles(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)V
    • getDebugString

      public String getDebugString()
      Mappings:
      Namespace Name Mixin selector
      official d Lemw;d()Ljava/lang/String;
      intermediary method_3052 Lnet/minecraft/class_702;method_3052()Ljava/lang/String;
      named getDebugString Lnet/minecraft/client/particle/ParticleManager;getDebugString()Ljava/lang/String;
    • canAdd

      private boolean canAdd(ParticleGroup group)
      Returns whether another particle from group can be rendered by this manager.
      Returns:
      whether another particle from group can be rendered by this manager
      Mappings:
      Namespace Name Mixin selector
      official a Lemw;a(Lhu;)Z
      intermediary method_34021 Lnet/minecraft/class_702;method_34021(Lnet/minecraft/class_5878;)Z
      named canAdd Lnet/minecraft/client/particle/ParticleManager;canAdd(Lnet/minecraft/client/particle/ParticleGroup;)Z