Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Particles [1.15]


modders2
 Share

Recommended Posts

How do I create a custom particle in 1.15?

I am using deferred registries - and I have this

public static DeferredRegister<ParticleType<?>> PARTICLE = new DeferredRegister<>(ForgeRegistries.PARTICLE_TYPES, Main.MOD_ID);
	
public static RegistryObject<ParticleType<?>> CARBON = PARTICLE.register("carbon", () -> new BasicParticleType(false));

However, I'm not sure what to do from here, if this is all I need or I need to add a directory to the actual texture file

Link to comment
Share on other sites

For particles there are 4 things:

  • Particle
  • ParticleType
  • IParticleData
  • IParticleFactory

Having BasicParticleType covers the ParticleType and IParticleData

Next you need a class that extends Particle (or TexturedParticle or SpriteTexturedParticle), in it you implement what you need (motion, texture, rendering).

 

You finally need a class (I nest it in my Particle class) that extends IParticleFactory, it'll have a makeParticle function (i think that is the name) that will take as a parameter your registered ParticleType and return an instance of the particle you created above.

 

For a simple particle BasicParticleType is fine, about 90% or more of vanilla particle use it. For more complex particles, you need a proper ParticleType and IParticleData, you can look at how vanilla does it in its redstone particle.

Link to comment
Share on other sites

38 minutes ago, Cyborgmas said:

For particles there are 4 things:

  • Particle
  • ParticleType
  • IParticleData
  • IParticleFactory

Having BasicParticleType covers the ParticleType and IParticleData

Next you need a class that extends Particle (or TexturedParticle or SpriteTexturedParticle), in it you implement what you need (motion, texture, rendering).

 

You finally need a class (I nest it in my Particle class) that extends IParticleFactory, it'll have a makeParticle function (i think that is the name) that will take as a parameter your registered ParticleType and return an instance of the particle you created above.

 

For a simple particle BasicParticleType is fine, about 90% or more of vanilla particle use it. For more complex particles, you need a proper ParticleType and IParticleData, you can look at how vanilla does it in its redstone particle.

Do you have an example I could look at maybe?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.