Package net.minecraft.client.particle
Class ParticleManager
java.lang.Object
net.minecraft.client.particle.ParticleManager
- All Implemented Interfaces:
ResourceReloader
- Mappings:
Namespace Name intermediary net/minecraft/class_702official fhdnamed net/minecraft/client/particle/ParticleManager
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static interfaceNested classes/interfaces inherited from interface net.minecraft.resource.ResourceReloader
ResourceReloader.Synchronizer -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Int2ObjectMap<ParticleFactory<?>>private static final ResourceFinderprivate final Object2IntOpenHashMap<ParticleGroup>private static final Loggerprivate static final intprivate final Queue<EmitterParticle>private static final List<ParticleTextureSheet>private final SpriteAtlasTextureprivate final Map<ParticleTextureSheet,Queue<Particle>> private static final Identifierprivate final Randomprivate final Map<Identifier,ParticleManager.SimpleSpriteProvider> private final TextureManagerprotected ClientWorld -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBlockBreakingParticles(BlockPos pos, Direction direction) voidaddBlockBreakParticles(BlockPos pos, BlockState state) voidaddEmitter(Entity entity, ParticleEffect parameters) voidaddEmitter(Entity entity, ParticleEffect parameters, int maxAge) voidaddParticle(Particle particle) addParticle(ParticleEffect parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ) private voidaddTo(ParticleGroup group, int count) private booleancanAdd(ParticleGroup group) Returns whether another particle fromgroupcan be rendered by this manager.voidprivate voidprivate <T extends ParticleEffect>
@Nullable ParticlecreateParticle(T parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ) private Optional<List<Identifier>>loadTextureList(Identifier id, Resource resource) private <T extends ParticleEffect>
voidregisterBlockLeakFactory(ParticleType<T> type, ParticleFactory.BlockLeakParticleFactory<T> factory) private voidprivate <T extends ParticleEffect>
voidregisterFactory(ParticleType<T> type, ParticleFactory<T> factory) private <T extends ParticleEffect>
voidregisterFactory(ParticleType<T> type, ParticleManager.SpriteAwareFactory<T> factory) reload(ResourceReloader.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor) Performs a reload.voidrenderParticles(MatrixStack matrices, VertexConsumerProvider.Immediate vertexConsumers, LightmapTextureManager lightmapTextureManager, Camera camera, float tickDelta) voidsetWorld(@Nullable ClientWorld world) voidtick()private voidtickParticle(Particle particle) private voidtickParticles(Collection<Particle> particles) Ticks all particles belonging to the same texture sheet.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.resource.ResourceReloader
getName
-
Field Details
-
LOGGER
- Mappings:
Namespace Name Mixin selector intermediary field_40505Lnet/minecraft/class_702;field_40505:Lorg/slf4j/Logger;official bLfhd;b:Lorg/slf4j/Logger;named LOGGERLnet/minecraft/client/particle/ParticleManager;LOGGER:Lorg/slf4j/Logger;
-
FINDER
- Mappings:
Namespace Name Mixin selector intermediary field_40506Lnet/minecraft/class_702;field_40506:Lnet/minecraft/class_7654;official cLfhd;c:Lacj;named FINDERLnet/minecraft/client/particle/ParticleManager;FINDER:Lnet/minecraft/resource/ResourceFinder;
-
PARTICLES_PATH
- Mappings:
Namespace Name Mixin selector intermediary field_41385Lnet/minecraft/class_702;field_41385:Lnet/minecraft/class_2960;official dLfhd;d:Lacq;named PARTICLES_PATHLnet/minecraft/client/particle/ParticleManager;PARTICLES_PATH:Lnet/minecraft/util/Identifier;
-
MAX_PARTICLE_COUNT
private static final int MAX_PARTICLE_COUNT- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_32657Lnet/minecraft/class_702;field_32657:Iofficial eLfhd;e:Inamed MAX_PARTICLE_COUNTLnet/minecraft/client/particle/ParticleManager;MAX_PARTICLE_COUNT:I
-
PARTICLE_TEXTURE_SHEETS
- Mappings:
Namespace Name Mixin selector intermediary field_17820Lnet/minecraft/class_702;field_17820:Ljava/util/List;official fLfhd;f:Ljava/util/List;named PARTICLE_TEXTURE_SHEETSLnet/minecraft/client/particle/ParticleManager;PARTICLE_TEXTURE_SHEETS:Ljava/util/List;
-
world
- Mappings:
Namespace Name Mixin selector intermediary field_3834Lnet/minecraft/class_702;field_3834:Lnet/minecraft/class_638;official aLfhd;a:Lfel;named worldLnet/minecraft/client/particle/ParticleManager;world:Lnet/minecraft/client/world/ClientWorld;
-
particles
- Mappings:
Namespace Name Mixin selector intermediary field_3830Lnet/minecraft/class_702;field_3830:Ljava/util/Map;official gLfhd;g:Ljava/util/Map;named particlesLnet/minecraft/client/particle/ParticleManager;particles:Ljava/util/Map;
-
newEmitterParticles
- Mappings:
Namespace Name Mixin selector intermediary field_3837Lnet/minecraft/class_702;field_3837:Ljava/util/Queue;official hLfhd;h:Ljava/util/Queue;named newEmitterParticlesLnet/minecraft/client/particle/ParticleManager;newEmitterParticles:Ljava/util/Queue;
-
textureManager
- Mappings:
Namespace Name Mixin selector intermediary field_3831Lnet/minecraft/class_702;field_3831:Lnet/minecraft/class_1060;official iLfhd;i:Lful;named textureManagerLnet/minecraft/client/particle/ParticleManager;textureManager:Lnet/minecraft/client/texture/TextureManager;
-
random
- Mappings:
Namespace Name Mixin selector intermediary field_3832Lnet/minecraft/class_702;field_3832:Lnet/minecraft/class_5819;official jLfhd;j:Lapf;named randomLnet/minecraft/client/particle/ParticleManager;random:Lnet/minecraft/util/math/random/Random;
-
factories
- Mappings:
Namespace Name Mixin selector intermediary field_3835Lnet/minecraft/class_702;field_3835:Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;official kLfhd;k:Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;named factoriesLnet/minecraft/client/particle/ParticleManager;factories:Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
-
newParticles
- Mappings:
Namespace Name Mixin selector intermediary field_3836Lnet/minecraft/class_702;field_3836:Ljava/util/Queue;official lLfhd;l:Ljava/util/Queue;named newParticlesLnet/minecraft/client/particle/ParticleManager;newParticles:Ljava/util/Queue;
-
spriteAwareFactories
- Mappings:
Namespace Name Mixin selector intermediary field_18300Lnet/minecraft/class_702;field_18300:Ljava/util/Map;official mLfhd;m:Ljava/util/Map;named spriteAwareFactoriesLnet/minecraft/client/particle/ParticleManager;spriteAwareFactories:Ljava/util/Map;
-
particleAtlasTexture
- Mappings:
Namespace Name Mixin selector intermediary field_18301Lnet/minecraft/class_702;field_18301:Lnet/minecraft/class_1059;official nLfhd;n:Lfuj;named particleAtlasTextureLnet/minecraft/client/particle/ParticleManager;particleAtlasTexture:Lnet/minecraft/client/texture/SpriteAtlasTexture;
-
groupCounts
- Mappings:
Namespace Name Mixin selector intermediary field_29072Lnet/minecraft/class_702;field_29072:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;official oLfhd;o:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;named groupCountsLnet/minecraft/client/particle/ParticleManager;groupCounts:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
-
-
Constructor Details
-
ParticleManager
- Mappings:
Namespace Name Mixin selector intermediary <init>Lnet/minecraft/class_702;<init>(Lnet/minecraft/class_638;Lnet/minecraft/class_1060;)Vofficial <init>Lfhd;<init>(Lfel;Lful;)Vnamed <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 intermediary method_3062Lnet/minecraft/class_702;method_3062()Vofficial eLfhd;e()Vnamed registerDefaultFactoriesLnet/minecraft/client/particle/ParticleManager;registerDefaultFactories()V
-
registerFactory
private <T extends ParticleEffect> void registerFactory(ParticleType<T> type, ParticleFactory<T> factory) - Mappings:
Namespace Name Mixin selector intermediary method_3043Lnet/minecraft/class_702;method_3043(Lnet/minecraft/class_2396;Lnet/minecraft/class_707;)Vofficial aLfhd;a(Liu;Lfhe;)Vnamed registerFactoryLnet/minecraft/client/particle/ParticleManager;registerFactory(Lnet/minecraft/particle/ParticleType;Lnet/minecraft/client/particle/ParticleFactory;)V
-
registerBlockLeakFactory
private <T extends ParticleEffect> void registerBlockLeakFactory(ParticleType<T> type, ParticleFactory.BlockLeakParticleFactory<T> factory) - Mappings:
Namespace Name Mixin selector intermediary method_49338Lnet/minecraft/class_702;method_49338(Lnet/minecraft/class_2396;Lnet/minecraft/class_707$class_8187;)Vofficial aLfhd;a(Liu;Lfhe$a;)Vnamed registerBlockLeakFactoryLnet/minecraft/client/particle/ParticleManager;registerBlockLeakFactory(Lnet/minecraft/particle/ParticleType;Lnet/minecraft/client/particle/ParticleFactory$BlockLeakParticleFactory;)V
-
registerFactory
private <T extends ParticleEffect> void registerFactory(ParticleType<T> type, ParticleManager.SpriteAwareFactory<T> factory) - Mappings:
Namespace Name Mixin selector intermediary method_18834Lnet/minecraft/class_702;method_18834(Lnet/minecraft/class_2396;Lnet/minecraft/class_702$class_4091;)Vofficial aLfhd;a(Liu;Lfhd$c;)Vnamed registerFactoryLnet/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 ofthenAcceptAsync.- Specified by:
reloadin interfaceResourceReloader- Parameters:
synchronizer- the synchronizermanager- the resource managerprepareProfiler- the profiler for prepare stageapplyProfiler- the profiler for apply stageprepareExecutor- the executor for prepare stageapplyExecutor- the executor for apply stage- Returns:
- a future for the reload
- See Also:
- Mappings:
Namespace Name Mixin selector intermediary method_25931Lnet/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;official aLakr;a(Lakr$a;Lakx;Lbam;Lbam;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;named reloadLnet/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 intermediary method_18829Lnet/minecraft/class_702;method_18829()Vofficial aLfhd;a()Vnamed clearAtlasLnet/minecraft/client/particle/ParticleManager;clearAtlas()V
-
loadTextureList
- Mappings:
Namespace Name Mixin selector intermediary method_18836Lnet/minecraft/class_702;method_18836(Lnet/minecraft/class_2960;Lnet/minecraft/class_3298;)Ljava/util/Optional;official aLfhd;a(Lacq;Lakv;)Ljava/util/Optional;named loadTextureListLnet/minecraft/client/particle/ParticleManager;loadTextureList(Lnet/minecraft/util/Identifier;Lnet/minecraft/resource/Resource;)Ljava/util/Optional;
-
addEmitter
- Mappings:
Namespace Name Mixin selector intermediary method_3061Lnet/minecraft/class_702;method_3061(Lnet/minecraft/class_1297;Lnet/minecraft/class_2394;)Vofficial aLfhd;a(Lbfh;Lit;)Vnamed addEmitterLnet/minecraft/client/particle/ParticleManager;addEmitter(Lnet/minecraft/entity/Entity;Lnet/minecraft/particle/ParticleEffect;)V
-
addEmitter
- Mappings:
Namespace Name Mixin selector intermediary method_3051Lnet/minecraft/class_702;method_3051(Lnet/minecraft/class_1297;Lnet/minecraft/class_2394;I)Vofficial aLfhd;a(Lbfh;Lit;I)Vnamed addEmitterLnet/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 intermediary method_3056Lnet/minecraft/class_702;method_3056(Lnet/minecraft/class_2394;DDDDDD)Lnet/minecraft/class_703;official aLfhd;a(Lit;DDDDDD)Lfhb;named addParticleLnet/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 intermediary method_3055Lnet/minecraft/class_702;method_3055(Lnet/minecraft/class_2394;DDDDDD)Lnet/minecraft/class_703;official bLfhd;b(Lit;DDDDDD)Lfhb;named createParticleLnet/minecraft/client/particle/ParticleManager;createParticle(Lnet/minecraft/particle/ParticleEffect;DDDDDD)Lnet/minecraft/client/particle/Particle;
-
addParticle
- Mappings:
Namespace Name Mixin selector intermediary method_3058Lnet/minecraft/class_702;method_3058(Lnet/minecraft/class_703;)Vofficial aLfhd;a(Lfhb;)Vnamed addParticleLnet/minecraft/client/particle/ParticleManager;addParticle(Lnet/minecraft/client/particle/Particle;)V
-
tick
public void tick()- Mappings:
Namespace Name Mixin selector intermediary method_3057Lnet/minecraft/class_702;method_3057()Vofficial bLfhd;b()Vnamed tickLnet/minecraft/client/particle/ParticleManager;tick()V
-
tickParticles
Ticks all particles belonging to the same texture sheet.- Parameters:
particles- a collection of particles from the same sheet- Mappings:
Namespace Name Mixin selector intermediary method_3048Lnet/minecraft/class_702;method_3048(Ljava/util/Collection;)Vofficial aLfhd;a(Ljava/util/Collection;)Vnamed tickParticlesLnet/minecraft/client/particle/ParticleManager;tickParticles(Ljava/util/Collection;)V
-
addTo
- Mappings:
Namespace Name Mixin selector intermediary method_34022Lnet/minecraft/class_702;method_34022(Lnet/minecraft/class_5878;I)Vofficial aLfhd;a(Lis;I)Vnamed addToLnet/minecraft/client/particle/ParticleManager;addTo(Lnet/minecraft/client/particle/ParticleGroup;I)V
-
tickParticle
- Mappings:
Namespace Name Mixin selector intermediary method_3059Lnet/minecraft/class_702;method_3059(Lnet/minecraft/class_703;)Vofficial bLfhd;b(Lfhb;)Vnamed tickParticleLnet/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 intermediary method_3049Lnet/minecraft/class_702;method_3049(Lnet/minecraft/class_4587;Lnet/minecraft/class_4597$class_4598;Lnet/minecraft/class_765;Lnet/minecraft/class_4184;F)Vofficial aLfhd;a(Leib;Lfjm$a;Lfjl;Lemr;F)Vnamed renderParticlesLnet/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
- Mappings:
Namespace Name Mixin selector intermediary method_3045Lnet/minecraft/class_702;method_3045(Lnet/minecraft/class_638;)Vofficial aLfhd;a(Lfel;)Vnamed setWorldLnet/minecraft/client/particle/ParticleManager;setWorld(Lnet/minecraft/client/world/ClientWorld;)V
-
addBlockBreakParticles
- Mappings:
Namespace Name Mixin selector intermediary method_3046Lnet/minecraft/class_702;method_3046(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Vofficial aLfhd;a(Lgu;Ldby;)Vnamed addBlockBreakParticlesLnet/minecraft/client/particle/ParticleManager;addBlockBreakParticles(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
-
addBlockBreakingParticles
- Mappings:
Namespace Name Mixin selector intermediary method_3054Lnet/minecraft/class_702;method_3054(Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Vofficial aLfhd;a(Lgu;Lha;)Vnamed addBlockBreakingParticlesLnet/minecraft/client/particle/ParticleManager;addBlockBreakingParticles(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)V
-
getDebugString
- Mappings:
Namespace Name Mixin selector intermediary method_3052Lnet/minecraft/class_702;method_3052()Ljava/lang/String;official dLfhd;d()Ljava/lang/String;named getDebugStringLnet/minecraft/client/particle/ParticleManager;getDebugString()Ljava/lang/String;
-
canAdd
Returns whether another particle fromgroupcan be rendered by this manager.- Returns:
- whether another particle from
groupcan be rendered by this manager - Mappings:
Namespace Name Mixin selector intermediary method_34021Lnet/minecraft/class_702;method_34021(Lnet/minecraft/class_5878;)Zofficial aLfhd;a(Lis;)Znamed canAddLnet/minecraft/client/particle/ParticleManager;canAdd(Lnet/minecraft/client/particle/ParticleGroup;)Z
-
clearParticles
private void clearParticles()- Mappings:
Namespace Name Mixin selector intermediary method_48015Lnet/minecraft/class_702;method_48015()Vofficial fLfhd;f()Vnamed clearParticlesLnet/minecraft/client/particle/ParticleManager;clearParticles()V
-