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
named net/minecraft/client/particle/ParticleManager
intermediary net/minecraft/class_702
official gjk
  • Field Details Link icon

    • LOGGER Link icon

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      named LOGGER Lnet/minecraft/client/particle/ParticleManager;LOGGER:Lorg/slf4j/Logger;
      intermediary field_40505 Lnet/minecraft/class_702;field_40505:Lorg/slf4j/Logger;
      official b Lgjk;b:Lorg/slf4j/Logger;
    • FINDER Link icon

      private static final ResourceFinder FINDER
      Mappings:
      Namespace Name Mixin selector
      named FINDER Lnet/minecraft/client/particle/ParticleManager;FINDER:Lnet/minecraft/resource/ResourceFinder;
      intermediary field_40506 Lnet/minecraft/class_702;field_40506:Lnet/minecraft/class_7654;
      official c Lgjk;c:Lako;
    • PARTICLES_PATH Link icon

      private static final Identifier PARTICLES_PATH
      Mappings:
      Namespace Name Mixin selector
      named PARTICLES_PATH Lnet/minecraft/client/particle/ParticleManager;PARTICLES_PATH:Lnet/minecraft/util/Identifier;
      intermediary field_41385 Lnet/minecraft/class_702;field_41385:Lnet/minecraft/class_2960;
      official d Lgjk;d:Lakv;
    • MAX_PARTICLE_COUNT Link icon

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

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

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

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

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

      private final TextureManager textureManager
      Mappings:
      Namespace Name Mixin selector
      named textureManager Lnet/minecraft/client/particle/ParticleManager;textureManager:Lnet/minecraft/client/texture/TextureManager;
      intermediary field_3831 Lnet/minecraft/class_702;field_3831:Lnet/minecraft/class_1060;
      official i Lgjk;i:Lhev;
    • random Link icon

      private final Random random
      Mappings:
      Namespace Name Mixin selector
      named random Lnet/minecraft/client/particle/ParticleManager;random:Lnet/minecraft/util/math/random/Random;
      intermediary field_3832 Lnet/minecraft/class_702;field_3832:Lnet/minecraft/class_5819;
      official j Lgjk;j:Lazh;
    • factories Link icon

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

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

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

      private final SpriteAtlasTexture particleAtlasTexture
      Mappings:
      Namespace Name Mixin selector
      named particleAtlasTexture Lnet/minecraft/client/particle/ParticleManager;particleAtlasTexture:Lnet/minecraft/client/texture/SpriteAtlasTexture;
      intermediary field_18301 Lnet/minecraft/class_702;field_18301:Lnet/minecraft/class_1059;
      official n Lgjk;n:Lhes;
    • groupCounts Link icon

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

    • ParticleManager Link icon

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

    • registerDefaultFactories Link icon

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

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

      private <T extends ParticleEffect> void registerBlockLeakFactory(ParticleType<T> type, ParticleFactory.BlockLeakParticleFactory<T> factory)
      Mappings:
      Namespace Name Mixin selector
      named registerBlockLeakFactory Lnet/minecraft/client/particle/ParticleManager;registerBlockLeakFactory(Lnet/minecraft/particle/ParticleType;Lnet/minecraft/client/particle/ParticleFactory$BlockLeakParticleFactory;)V
      intermediary method_49338 Lnet/minecraft/class_702;method_49338(Lnet/minecraft/class_2396;Lnet/minecraft/class_707$class_8187;)V
      official a Lgjk;a(Lls;Lgjl$a;)V
    • registerFactory Link icon

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

      public CompletableFuture<Void> reload(ResourceReloader.Synchronizer synchronizer, ResourceManager manager, 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
      Returns:
      a future for the reload
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named reload Lnet/minecraft/resource/ResourceReloader;reload(Lnet/minecraft/resource/ResourceReloader$Synchronizer;Lnet/minecraft/resource/ResourceManager;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;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
      official a Lauj;a(Lauj$a;Laup;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    • clearAtlas Link icon

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

      private Optional<List<Identifier>> loadTextureList(Identifier id, Resource resource)
      Mappings:
      Namespace Name Mixin selector
      named loadTextureList Lnet/minecraft/client/particle/ParticleManager;loadTextureList(Lnet/minecraft/util/Identifier;Lnet/minecraft/resource/Resource;)Ljava/util/Optional;
      intermediary method_18836 Lnet/minecraft/class_702;method_18836(Lnet/minecraft/class_2960;Lnet/minecraft/class_3298;)Ljava/util/Optional;
      official a Lgjk;a(Lakv;Laun;)Ljava/util/Optional;
    • addEmitter Link icon

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

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

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

      @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
      named createParticle Lnet/minecraft/client/particle/ParticleManager;createParticle(Lnet/minecraft/particle/ParticleEffect;DDDDDD)Lnet/minecraft/client/particle/Particle;
      intermediary method_3055 Lnet/minecraft/class_702;method_3055(Lnet/minecraft/class_2394;DDDDDD)Lnet/minecraft/class_703;
      official b Lgjk;b(Llr;DDDDDD)Lgji;
    • addParticle Link icon

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

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

      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
      named tickParticles Lnet/minecraft/client/particle/ParticleManager;tickParticles(Ljava/util/Collection;)V
      intermediary method_3048 Lnet/minecraft/class_702;method_3048(Ljava/util/Collection;)V
      official a Lgjk;a(Ljava/util/Collection;)V
    • addTo Link icon

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

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

      public void renderParticles(Camera camera, float tickDelta, VertexConsumerProvider.Immediate vertexConsumers)
      Mappings:
      Namespace Name Mixin selector
      named renderParticles Lnet/minecraft/client/particle/ParticleManager;renderParticles(Lnet/minecraft/client/render/Camera;FLnet/minecraft/client/render/VertexConsumerProvider$Immediate;)V
      intermediary method_3049 Lnet/minecraft/class_702;method_3049(Lnet/minecraft/class_4184;FLnet/minecraft/class_4597$class_4598;)V
      official a Lgjk;a(Lfks;FLglz$a;)V
    • renderParticles Link icon

      private static void renderParticles(Camera camera, float tickDelta, VertexConsumerProvider.Immediate vertexConsumers, ParticleTextureSheet sheet, Queue<Particle> particles)
      Mappings:
      Namespace Name Mixin selector
      named renderParticles Lnet/minecraft/client/particle/ParticleManager;renderParticles(Lnet/minecraft/client/render/Camera;FLnet/minecraft/client/render/VertexConsumerProvider$Immediate;Lnet/minecraft/client/particle/ParticleTextureSheet;Ljava/util/Queue;)V
      intermediary method_65199 Lnet/minecraft/class_702;method_65199(Lnet/minecraft/class_4184;FLnet/minecraft/class_4597$class_4598;Lnet/minecraft/class_3999;Ljava/util/Queue;)V
      official a Lgjk;a(Lfks;FLglz$a;Lgjm;Ljava/util/Queue;)V
    • renderCustomParticles Link icon

      private static void renderCustomParticles(Camera camera, float tickDelta, VertexConsumerProvider.Immediate vertexConsumers, Queue<Particle> particles)
      Mappings:
      Namespace Name Mixin selector
      named renderCustomParticles Lnet/minecraft/client/particle/ParticleManager;renderCustomParticles(Lnet/minecraft/client/render/Camera;FLnet/minecraft/client/render/VertexConsumerProvider$Immediate;Ljava/util/Queue;)V
      intermediary method_65200 Lnet/minecraft/class_702;method_65200(Lnet/minecraft/class_4184;FLnet/minecraft/class_4597$class_4598;Ljava/util/Queue;)V
      official a Lgjk;a(Lfks;FLglz$a;Ljava/util/Queue;)V
    • setWorld Link icon

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

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

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

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

      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
      named canAdd Lnet/minecraft/client/particle/ParticleManager;canAdd(Lnet/minecraft/particle/ParticleGroup;)Z
      intermediary method_34021 Lnet/minecraft/class_702;method_34021(Lnet/minecraft/class_5878;)Z
      official a Lgjk;a(Llq;)Z
    • clearParticles Link icon

      private void clearParticles()
      Mappings:
      Namespace Name Mixin selector
      named clearParticles Lnet/minecraft/client/particle/ParticleManager;clearParticles()V
      intermediary method_48015 Lnet/minecraft/class_702;method_48015()V
      official f Lgjk;f()V