Package net.minecraft.client.particle
Class ParticleManager
java.lang.Object
net.minecraft.client.particle.ParticleManager
- All Implemented Interfaces:
ResourceReloadListener
@Environment(CLIENT) public class ParticleManager extends Object implements ResourceReloadListener
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
ParticleManager.SimpleSpriteProvider
(package private) static interface
ParticleManager.SpriteAwareFactory<T extends ParticleEffect>
Nested classes/interfaces inherited from interface net.minecraft.resource.ResourceReloadListener
ResourceReloadListener.Synchronizer
-
Field Summary
Fields Modifier and Type Field Description private Int2ObjectMap<ParticleFactory<?>>
factories
private Queue<EmitterParticle>
newEmitterParticles
private Queue<Particle>
newParticles
private static List<ParticleTextureSheet>
PARTICLE_TEXTURE_SHEETS
private SpriteAtlasTexture
particleAtlasTexture
private Map<ParticleTextureSheet,Queue<Particle>>
particles
private Random
random
private Map<Identifier,ParticleManager.SimpleSpriteProvider>
spriteAwareFactories
private TextureManager
textureManager
protected ClientWorld
world
-
Constructor Summary
Constructors Constructor Description ParticleManager(ClientWorld world, TextureManager textureManager)
-
Method Summary
Modifier and Type Method Description void
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)
Particle
addParticle(ParticleEffect parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ)
void
clearAtlas()
private <T extends ParticleEffect>
ParticlecreateParticle(T parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ)
String
getDebugString()
private void
loadTextureList(ResourceManager resourceManager, Identifier id, Map<Identifier,List<Identifier>> result)
private void
registerDefaultFactories()
private <T extends ParticleEffect>
voidregisterFactory(ParticleType<T> type, ParticleFactory<T> factory)
private <T extends ParticleEffect>
voidregisterFactory(ParticleType<T> particleType, ParticleManager.SpriteAwareFactory<T> spriteAwareFactory)
CompletableFuture<Void>
reload(ResourceReloadListener.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor)
void
renderParticles(MatrixStack matrixStack, VertexConsumerProvider.Immediate immediate, LightmapTextureManager lightmapTextureManager, Camera camera, float float2)
void
setWorld(ClientWorld world)
void
tick()
private void
tickParticle(Particle particle)
private void
tickParticles(Collection<Particle> collection)
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.ResourceReloadListener
getName
-
Field Details
-
PARTICLE_TEXTURE_SHEETS
-
world
-
particles
-
newEmitterParticles
-
textureManager
-
random
-
factories
-
newParticles
-
spriteAwareFactories
-
particleAtlasTexture
-
-
Constructor Details
-
ParticleManager
-
-
Method Details
-
registerDefaultFactories
private void registerDefaultFactories() -
registerFactory
private <T extends ParticleEffect> void registerFactory(ParticleType<T> type, ParticleFactory<T> factory) -
registerFactory
private <T extends ParticleEffect> void registerFactory(ParticleType<T> particleType, ParticleManager.SpriteAwareFactory<T> spriteAwareFactory) -
reload
public CompletableFuture<Void> reload(ResourceReloadListener.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor)- Specified by:
reload
in interfaceResourceReloadListener
-
clearAtlas
public void clearAtlas() -
loadTextureList
private void loadTextureList(ResourceManager resourceManager, Identifier id, Map<Identifier,List<Identifier>> result) -
addEmitter
-
addEmitter
-
addParticle
@Nullable public Particle addParticle(ParticleEffect parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ) -
createParticle
@Nullable private <T extends ParticleEffect> Particle createParticle(T parameters, double x, double y, double z, double velocityX, double velocityY, double velocityZ) -
addParticle
-
tick
public void tick() -
tickParticles
-
tickParticle
-
renderParticles
public void renderParticles(MatrixStack matrixStack, VertexConsumerProvider.Immediate immediate, LightmapTextureManager lightmapTextureManager, Camera camera, float float2) -
setWorld
-
addBlockBreakParticles
-
addBlockBreakingParticles
-
getDebugString
-