Package net.minecraft.client.particle
Class ParticleManager
java.lang.Object
net.minecraft.client.particle.ParticleManager
- All Implemented Interfaces:
ResourceReloader
- Mappings:
Namespace Name named net/minecraft/client/particle/ParticleManager
intermediary net/minecraft/class_702
official git
-
Nested Class Summary
Modifier and TypeClassDescriptionprivate static class
private static interface
Nested classes/interfaces inherited from interface net.minecraft.resource.ResourceReloader
ResourceReloader.Synchronizer
-
Field Summary
Modifier and TypeFieldDescriptionprivate final Int2ObjectMap
<ParticleFactory<?>> private static final ResourceFinder
private final Object2IntOpenHashMap
<ParticleGroup> private static final Logger
private static final int
private final Queue
<EmitterParticle> private static final List
<ParticleTextureSheet> private final SpriteAtlasTexture
private final Map
<ParticleTextureSheet, Queue<Particle>> private static final Identifier
private final Random
private final Map
<Identifier, ParticleManager.SimpleSpriteProvider> private final TextureManager
protected ClientWorld
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addBlockBreakingParticles
(BlockPos pos, Direction direction) void
addBlockBreakParticles
(BlockPos pos, BlockState state) void
addEmitter
(Entity entity, ParticleEffect parameters) void
addEmitter
(Entity entity, ParticleEffect parameters, int maxAge) void
addParticle
(Particle particle) addParticle
(ParticleEffect parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ) private void
addTo
(ParticleGroup group, int count) private boolean
canAdd
(ParticleGroup group) Returns whether another particle fromgroup
can be rendered by this manager.void
private void
private <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 void
private <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, Executor prepareExecutor, Executor applyExecutor) Performs a reload.void
renderParticles
(LightmapTextureManager lightmapTextureManager, Camera camera, float tickDelta) void
setWorld
(@Nullable ClientWorld world) void
tick()
private void
tickParticle
(Particle particle) private void
tickParticles
(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, wait
Methods inherited from interface net.minecraft.resource.ResourceReloader
getName
-
Field Details
-
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
Lgit;b:Lorg/slf4j/Logger;
-
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
Lgit;c:Lals;
-
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
Lgit;d:Lalz;
-
MAX_PARTICLE_COUNT
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
Lgit;e:I
-
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
Lgit;f:Ljava/util/List;
-
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
Lgit;a:Lgfj;
-
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
Lgit;g:Ljava/util/Map;
-
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
Lgit;h:Ljava/util/Queue;
-
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
Lgit;i:Lhbl;
-
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
Lgit;j:Lbam;
-
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
Lgit;k:Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
-
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
Lgit;l:Ljava/util/Queue;
-
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
Lgit;m:Ljava/util/Map;
-
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
Lgit;n:Lhbj;
-
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
Lgit;o:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
-
-
Constructor Details
-
ParticleManager
- 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>
Lgit;<init>(Lgfj;Lhbl;)V
-
-
Method Details
-
registerDefaultFactories
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
Lgit;e()V
-
registerFactory
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
Lgit;a(Llr;Lgiu;)V
-
registerBlockLeakFactory
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
Lgit;a(Llr;Lgiu$a;)V
-
registerFactory
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
Lgit;a(Llr;Lgit$c;)V
-
reload
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 ofthenAcceptAsync
.- Specified by:
reload
in interfaceResourceReloader
- Parameters:
synchronizer
- the synchronizermanager
- 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
Lavp;a(Lavp$a;Lavv;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
-
clearAtlas
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
Lgit;a()V
-
loadTextureList
- 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
Lgit;a(Lalz;Lavt;)Ljava/util/Optional;
-
addEmitter
- 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
Lgit;a(Lbvj;Llq;)V
-
addEmitter
- 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
Lgit;a(Lbvj;Llq;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 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
Lgit;a(Llq;DDDDDD)Lgir;
-
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 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
Lgit;b(Llq;DDDDDD)Lgir;
-
addParticle
- 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
Lgit;a(Lgir;)V
-
tick
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
Lgit;b()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 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
Lgit;a(Ljava/util/Collection;)V
-
addTo
- 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
Lgit;a(Llp;I)V
-
tickParticle
- 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
Lgit;b(Lgir;)V
-
renderParticles
public void renderParticles(LightmapTextureManager lightmapTextureManager, Camera camera, float tickDelta) - Mappings:
Namespace Name Mixin selector named renderParticles
Lnet/minecraft/client/particle/ParticleManager;renderParticles(Lnet/minecraft/client/render/LightmapTextureManager;Lnet/minecraft/client/render/Camera;F)V
intermediary method_3049
Lnet/minecraft/class_702;method_3049(Lnet/minecraft/class_765;Lnet/minecraft/class_4184;F)V
official a
Lgit;a(Lgli;Lflo;F)V
-
setWorld
- 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
Lgit;a(Lgfj;)V
-
addBlockBreakParticles
- 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
Lgit;a(Ljh;Ldxu;)V
-
addBlockBreakingParticles
- 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
Lgit;a(Ljh;Ljm;)V
-
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
Lgit;d()Ljava/lang/String;
-
canAdd
Returns whether another particle fromgroup
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
Lgit;a(Llp;)Z
-
clearParticles
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
Lgit;f()V
-