Class EmitterSettings.Builder<B extends EmitterSettings.Builder<B>>

java.lang.Object
me.deecaad.core.emitter.EmitterSettings.Builder<B>
Direct Known Subclasses:
DisplayEntityEmitterSettings.Builder, ParticleEmitterSettings.Builder
Enclosing class:
EmitterSettings

public abstract static class EmitterSettings.Builder<B extends EmitterSettings.Builder<B>> extends Object
Recursive-generic builder so subclass builders chain fluently. Subclasses must implement self() returning this and build() returning their concrete settings.
  • Field Details

    • shape

      protected Shape shape
    • direction

      protected VectorProvider direction
    • speed

      protected double speed
    • durationTicks

      protected int durationTicks
    • rate

      protected double rate
    • burstCount

      protected int burstCount
    • burstInterval

      protected int burstInterval
    • emittedLifetimeTicks

      protected int emittedLifetimeTicks
    • liveCap

      protected int liveCap
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • self

      @NotNull protected abstract B self()
    • build

      @NotNull public abstract @NotNull EmitterSettings build()
    • shape

      @NotNull public B shape(@NotNull @NotNull Shape shape)
    • direction

      @NotNull public B direction(@NotNull @NotNull VectorProvider direction)
    • speed

      @NotNull public B speed(double speed)
    • durationTicks

      @NotNull public B durationTicks(int durationTicks)
    • rate

      @NotNull public B rate(double rate)
    • burst

      @NotNull public B burst(int count, int interval)
      Switches the emitter into burst mode: emit count items every interval ticks.
    • emittedLifetimeTicks

      @NotNull public B emittedLifetimeTicks(int emittedLifetimeTicks)
    • liveCap

      @NotNull public B liveCap(int liveCap)