Package net.minecraft.client.particle
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 ejmintermediary net/minecraft/class_702named net/minecraft/client/particle/ParticleManager
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classParticleManager.SimpleSpriteProvider(package private) static interfaceParticleManager.SpriteAwareFactory<T extends ParticleEffect>Nested classes/interfaces inherited from interface net.minecraft.resource.ResourceReloader
ResourceReloader.Synchronizer -
Field Summary
Fields Modifier and Type Field Description private Int2ObjectMap<ParticleFactory<?>>factoriesprivate static intfield_32657private Object2IntOpenHashMap<ParticleGroup>groupCountsprivate Queue<EmitterParticle>newEmitterParticlesprivate Queue<Particle>newParticlesprivate static List<ParticleTextureSheet>PARTICLE_TEXTURE_SHEETSprivate SpriteAtlasTextureparticleAtlasTextureprivate Map<ParticleTextureSheet,Queue<Particle>>particlesprivate Randomrandomprivate Map<Identifier,ParticleManager.SimpleSpriteProvider>spriteAwareFactoriesprivate TextureManagertextureManagerprotected ClientWorldworld -
Constructor Summary
Constructors Constructor Description ParticleManager(ClientWorld world, TextureManager textureManager) -
Method Summary
Modifier and Type Method Description voidaddBlockBreakingParticles(BlockPos pos, Direction direction)voidaddBlockBreakParticles(BlockPos pos, BlockState state)voidaddEmitter(Entity entity, ParticleEffect parameters)voidaddEmitter(Entity entity, ParticleEffect parameters, int maxAge)voidaddParticle(Particle particle)@Nullable ParticleaddParticle(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 if another particle fromgroupcan be rendered by this manager.voidclearAtlas()private <T extends ParticleEffect>
@Nullable ParticlecreateParticle(T parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ)StringgetDebugString()private voidloadTextureList(ResourceManager resourceManager, Identifier id, Map<Identifier,List<Identifier>> result)private voidregisterDefaultFactories()private <T extends ParticleEffect>
voidregisterFactory(ParticleType<T> type, ParticleFactory<T> factory)private <T extends ParticleEffect>
voidregisterFactory(ParticleType<T> type, ParticleManager.SpriteAwareFactory<T> factory)CompletableFuture<Void>reload(ResourceReloader.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor)Performs a reload.voidrenderParticles(MatrixStack matrices, VertexConsumerProvider.Immediate immediate, LightmapTextureManager lightmapTextureManager, Camera camera, float float2)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
-
field_32657
private static final int field_32657- See Also:
- Constant Field Values
- Mappings:
Namespace Name Mixin selector official bLejm;b:Iintermediary field_32657Lnet/minecraft/class_702;field_32657:Inamed field_32657Lnet/minecraft/client/particle/ParticleManager;field_32657:I
-
PARTICLE_TEXTURE_SHEETS
- Mappings:
Namespace Name Mixin selector official cLejm;c:Ljava/util/List;intermediary field_17820Lnet/minecraft/class_702;field_17820:Ljava/util/List;named PARTICLE_TEXTURE_SHEETSLnet/minecraft/client/particle/ParticleManager;PARTICLE_TEXTURE_SHEETS:Ljava/util/List;
-
world
- Mappings:
Namespace Name Mixin selector official aLejm;a:Lehv;intermediary field_3834Lnet/minecraft/class_702;field_3834:Lnet/minecraft/class_638;named worldLnet/minecraft/client/particle/ParticleManager;world:Lnet/minecraft/client/world/ClientWorld;
-
particles
- Mappings:
Namespace Name Mixin selector official dLejm;d:Ljava/util/Map;intermediary field_3830Lnet/minecraft/class_702;field_3830:Ljava/util/Map;named particlesLnet/minecraft/client/particle/ParticleManager;particles:Ljava/util/Map;
-
newEmitterParticles
- Mappings:
Namespace Name Mixin selector official eLejm;e:Ljava/util/Queue;intermediary field_3837Lnet/minecraft/class_702;field_3837:Ljava/util/Queue;named newEmitterParticlesLnet/minecraft/client/particle/ParticleManager;newEmitterParticles:Ljava/util/Queue;
-
textureManager
- Mappings:
Namespace Name Mixin selector official fLejm;f:Lewc;intermediary field_3831Lnet/minecraft/class_702;field_3831:Lnet/minecraft/class_1060;named textureManagerLnet/minecraft/client/particle/ParticleManager;textureManager:Lnet/minecraft/client/texture/TextureManager;
-
random
- Mappings:
Namespace Name Mixin selector official gLejm;g:Ljava/util/Random;intermediary field_3832Lnet/minecraft/class_702;field_3832:Ljava/util/Random;named randomLnet/minecraft/client/particle/ParticleManager;random:Ljava/util/Random;
-
factories
- Mappings:
Namespace Name Mixin selector official hLejm;h:Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;intermediary field_3835Lnet/minecraft/class_702;field_3835: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 official iLejm;i:Ljava/util/Queue;intermediary field_3836Lnet/minecraft/class_702;field_3836:Ljava/util/Queue;named newParticlesLnet/minecraft/client/particle/ParticleManager;newParticles:Ljava/util/Queue;
-
spriteAwareFactories
- Mappings:
Namespace Name Mixin selector official jLejm;j:Ljava/util/Map;intermediary field_18300Lnet/minecraft/class_702;field_18300:Ljava/util/Map;named spriteAwareFactoriesLnet/minecraft/client/particle/ParticleManager;spriteAwareFactories:Ljava/util/Map;
-
particleAtlasTexture
- Mappings:
Namespace Name Mixin selector official kLejm;k:Lewa;intermediary field_18301Lnet/minecraft/class_702;field_18301:Lnet/minecraft/class_1059;named particleAtlasTextureLnet/minecraft/client/particle/ParticleManager;particleAtlasTexture:Lnet/minecraft/client/texture/SpriteAtlasTexture;
-
groupCounts
- Mappings:
Namespace Name Mixin selector official lLejm;l:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;intermediary field_29072Lnet/minecraft/class_702;field_29072: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 official <init>Lejm;<init>(Lehv;Lewc;)Vintermediary <init>Lnet/minecraft/class_702;<init>(Lnet/minecraft/class_638;Lnet/minecraft/class_1060;)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 official eLejm;e()Vintermediary method_3062Lnet/minecraft/class_702;method_3062()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 official aLejm;a(Lhp;Lejn;)Vintermediary method_3043Lnet/minecraft/class_702;method_3043(Lnet/minecraft/class_2396;Lnet/minecraft/class_707;)Vnamed registerFactoryLnet/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 aLejm;a(Lhp;Lejm$b;)Vintermediary method_18834Lnet/minecraft/class_702;method_18834(Lnet/minecraft/class_2396;Lnet/minecraft/class_702$class_4091;)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:
ReloadableResourceManager.reload(Executor, Executor, CompletableFuture, List)- Mappings:
Namespace Name Mixin selector official aLadg;a(Ladg$a;Ladl;Lapl;Lapl;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;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;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 official aLejm;a()Vintermediary method_18829Lnet/minecraft/class_702;method_18829()Vnamed clearAtlasLnet/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 aLejm;a(Ladl;Lwp;Ljava/util/Map;)Vintermediary method_18836Lnet/minecraft/class_702;method_18836(Lnet/minecraft/class_3300;Lnet/minecraft/class_2960;Ljava/util/Map;)Vnamed loadTextureListLnet/minecraft/client/particle/ParticleManager;loadTextureList(Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/util/Identifier;Ljava/util/Map;)V
-
addEmitter
- Mappings:
Namespace Name Mixin selector official aLejm;a(Lasl;Lho;)Vintermediary method_3061Lnet/minecraft/class_702;method_3061(Lnet/minecraft/class_1297;Lnet/minecraft/class_2394;)Vnamed addEmitterLnet/minecraft/client/particle/ParticleManager;addEmitter(Lnet/minecraft/entity/Entity;Lnet/minecraft/particle/ParticleEffect;)V
-
addEmitter
- Mappings:
Namespace Name Mixin selector official aLejm;a(Lasl;Lho;I)Vintermediary method_3051Lnet/minecraft/class_702;method_3051(Lnet/minecraft/class_1297;Lnet/minecraft/class_2394;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 official aLejm;a(Lho;DDDDDD)Lejk;intermediary method_3056Lnet/minecraft/class_702;method_3056(Lnet/minecraft/class_2394;DDDDDD)Lnet/minecraft/class_703;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 official bLejm;b(Lho;DDDDDD)Lejk;intermediary method_3055Lnet/minecraft/class_702;method_3055(Lnet/minecraft/class_2394;DDDDDD)Lnet/minecraft/class_703;named createParticleLnet/minecraft/client/particle/ParticleManager;createParticle(Lnet/minecraft/particle/ParticleEffect;DDDDDD)Lnet/minecraft/client/particle/Particle;
-
addParticle
- Mappings:
Namespace Name Mixin selector official aLejm;a(Lejk;)Vintermediary method_3058Lnet/minecraft/class_702;method_3058(Lnet/minecraft/class_703;)Vnamed addParticleLnet/minecraft/client/particle/ParticleManager;addParticle(Lnet/minecraft/client/particle/Particle;)V
-
tick
public void tick()- Mappings:
Namespace Name Mixin selector official bLejm;b()Vintermediary method_3057Lnet/minecraft/class_702;method_3057()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 official aLejm;a(Ljava/util/Collection;)Vintermediary method_3048Lnet/minecraft/class_702;method_3048(Ljava/util/Collection;)Vnamed tickParticlesLnet/minecraft/client/particle/ParticleManager;tickParticles(Ljava/util/Collection;)V
-
addTo
- Mappings:
Namespace Name Mixin selector official aLejm;a(Lhn;I)Vintermediary method_34022Lnet/minecraft/class_702;method_34022(Lnet/minecraft/class_5878;I)Vnamed addToLnet/minecraft/client/particle/ParticleManager;addTo(Lnet/minecraft/client/particle/ParticleGroup;I)V
-
tickParticle
- Mappings:
Namespace Name Mixin selector official bLejm;b(Lejk;)Vintermediary method_3059Lnet/minecraft/class_702;method_3059(Lnet/minecraft/class_703;)Vnamed tickParticleLnet/minecraft/client/particle/ParticleManager;tickParticle(Lnet/minecraft/client/particle/Particle;)V
-
renderParticles
public void renderParticles(MatrixStack matrices, VertexConsumerProvider.Immediate immediate, LightmapTextureManager lightmapTextureManager, Camera camera, float float2)- Mappings:
Namespace Name Mixin selector official aLejm;a(Ldpg;Lely$a;Lelx;Ldtv;F)Vintermediary 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)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 official aLejm;a(Lehv;)Vintermediary method_3045Lnet/minecraft/class_702;method_3045(Lnet/minecraft/class_638;)Vnamed setWorldLnet/minecraft/client/particle/ParticleManager;setWorld(Lnet/minecraft/client/world/ClientWorld;)V
-
addBlockBreakParticles
- Mappings:
Namespace Name Mixin selector official aLejm;a(Lgb;Lcjr;)Vintermediary method_3046Lnet/minecraft/class_702;method_3046(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Vnamed addBlockBreakParticlesLnet/minecraft/client/particle/ParticleManager;addBlockBreakParticles(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
-
addBlockBreakingParticles
- Mappings:
Namespace Name Mixin selector official aLejm;a(Lgb;Lgg;)Vintermediary method_3054Lnet/minecraft/class_702;method_3054(Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Vnamed addBlockBreakingParticlesLnet/minecraft/client/particle/ParticleManager;addBlockBreakingParticles(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)V
-
getDebugString
- Mappings:
Namespace Name Mixin selector official dLejm;d()Ljava/lang/String;intermediary method_3052Lnet/minecraft/class_702;method_3052()Ljava/lang/String;named getDebugStringLnet/minecraft/client/particle/ParticleManager;getDebugString()Ljava/lang/String;
-
canAdd
Returns if another particle fromgroupcan be rendered by this manager.- Mappings:
Namespace Name Mixin selector official aLejm;a(Lhn;)Zintermediary method_34021Lnet/minecraft/class_702;method_34021(Lnet/minecraft/class_5878;)Znamed canAddLnet/minecraft/client/particle/ParticleManager;canAdd(Lnet/minecraft/client/particle/ParticleGroup;)Z
-