Class BuilderBodyMotionCharge

All Implemented Interfaces:
NamedSchema, SchemaConvertable<Void>, Builder<BodyMotion>, BuilderContext

public class BuilderBodyMotionCharge extends BuilderBodyMotionBase
  • Field Details

    • DEFAULT_LOCKED_ON_DURATION_RANGE

      public static final double[] DEFAULT_LOCKED_ON_DURATION_RANGE
    • DEFAULT_WINDING_UP_DURATION_RANGE

      public static final double[] DEFAULT_WINDING_UP_DURATION_RANGE
    • DEFAULT_POST_CHARGE_DURATION_RANGE

      public static final double[] DEFAULT_POST_CHARGE_DURATION_RANGE
  • Constructor Details

    • BuilderBodyMotionCharge

      public BuilderBodyMotionCharge()
  • Method Details

    • build

      @Nonnull public BodyMotion build(@Nonnull BuilderSupport builderSupport)
    • getShortDescription

      @Nonnull public String getShortDescription()
      Specified by:
      getShortDescription in class BuilderBase<BodyMotion>
    • getLongDescription

      @Nonnull public String getLongDescription()
      Specified by:
      getLongDescription in class BuilderBase<BodyMotion>
    • getBuilderDescriptorState

      @Nonnull public BuilderDescriptorState getBuilderDescriptorState()
      Specified by:
      getBuilderDescriptorState in interface Builder<BodyMotion>
      Specified by:
      getBuilderDescriptorState in class BuilderBase<BodyMotion>
    • readConfig

      @Nonnull public BuilderBodyMotionCharge readConfig(@Nonnull com.google.gson.JsonElement data)
      Overrides:
      readConfig in class BuilderBase<BodyMotion>
    • validate

      public boolean validate(String configName, @Nonnull NPCLoadTimeValidationHelper validationHelper, ExecutionContext context, Scope globalScope, @Nonnull List<String> errors)
      Description copied from interface: Builder
      Iterates the builder tree and validates all present dynamic value holders based on the execution context and scope provided. Will also run an optional ILoadTimeValidationHelper
      Specified by:
      validate in interface Builder<BodyMotion>
      Overrides:
      validate in class BuilderMotionBase<BodyMotion>
      Parameters:
      configName - the name of the parent file from which the execution context and scope are derived
      validationHelper - an optional validation helper that will be run in certain contexts depending on implementations
      context - the execution context for resolving value holders
      globalScope - the scope for resolving value holders
      errors - a list for storing any errors encountered
      Returns:
      false if any errors were encountered during validation, true otherwise
    • getRelativeTurnSpeed

      public double getRelativeTurnSpeed(@Nonnull BuilderSupport support)
    • getLockedOnHalfAngleRadians

      public double getLockedOnHalfAngleRadians(@Nonnull BuilderSupport support)
    • getLockedOnDurationRange

      @Nonnull public double[] getLockedOnDurationRange(@Nonnull BuilderSupport support)
    • getWindingUpDurationRange

      @Nonnull public double[] getWindingUpDurationRange(@Nonnull BuilderSupport support)
    • getPostChargeDurationRange

      @Nonnull public double[] getPostChargeDurationRange(@Nonnull BuilderSupport support)
    • isWindingUpUninterruptable

      public boolean isWindingUpUninterruptable(@Nonnull BuilderSupport support)
    • isClearOnceOnStateChange

      public boolean isClearOnceOnStateChange(@Nonnull BuilderSupport support)
    • getWindingUpRelativeTurnSpeed

      public double getWindingUpRelativeTurnSpeed(@Nonnull BuilderSupport support)
    • getChargeRelativeSpeed

      public double getChargeRelativeSpeed(@Nonnull BuilderSupport support)
    • getChargeDistanceRange

      @Nonnull public double[] getChargeDistanceRange(@Nonnull BuilderSupport support)
    • getChargeDistanceMode

      @Nonnull public BodyMotionCharge.ChargeDistanceMode getChargeDistanceMode(@Nonnull BuilderSupport support)
    • getTargetDistanceRange

      @Nonnull public double[] getTargetDistanceRange(@Nonnull BuilderSupport support)
    • getIgnoredBlockSet

      public int getIgnoredBlockSet(@Nonnull BuilderSupport support)
    • getProbeRelaxedConstraints

      @Nonnull public EnumSet<RelaxedConstraint> getProbeRelaxedConstraints(@Nonnull BuilderSupport support)
    • getChargeAbsoluteSpeed

      public double getChargeAbsoluteSpeed(@Nonnull BuilderSupport support)
    • getChargeAccelerationDistance

      public double getChargeAccelerationDistance(@Nonnull BuilderSupport support)
    • getChargeAccelerationMinimumRelativeSpeed

      public double getChargeAccelerationMinimumRelativeSpeed(@Nonnull BuilderSupport support)
    • getChargeAccelerationCurveMode

      @Nonnull public EasingCurveMode getChargeAccelerationCurveMode(@Nonnull BuilderSupport support)
    • getChargeAccelerationHalfTimeValue

      public double getChargeAccelerationHalfTimeValue(@Nonnull BuilderSupport support)
    • getChargeAccelerationHalfTimeSteepness

      public double getChargeAccelerationHalfTimeSteepness(@Nonnull BuilderSupport support)
    • getChargeAccelerationEndSteepness

      public double getChargeAccelerationEndSteepness(@Nonnull BuilderSupport support)
    • getChargeDecelerationDistance

      public double getChargeDecelerationDistance(@Nonnull BuilderSupport support)
    • getChargeDecelerationMinimumRelativeSpeed

      public double getChargeDecelerationMinimumRelativeSpeed(@Nonnull BuilderSupport support)
    • getChargeDecelerationCurveMode

      @Nonnull public EasingCurveMode getChargeDecelerationCurveMode(@Nonnull BuilderSupport support)
    • getChargeDecelerationHalfTimeValue

      public double getChargeDecelerationHalfTimeValue(@Nonnull BuilderSupport support)
    • getChargeDecelerationHalfTimeSteepness

      public double getChargeDecelerationHalfTimeSteepness(@Nonnull BuilderSupport support)
    • getChargeDecelerationEndSteepness

      public double getChargeDecelerationEndSteepness(@Nonnull BuilderSupport support)
    • isIgnoredBlockSetTriggers

      public boolean isIgnoredBlockSetTriggers(@Nonnull BuilderSupport support)
    • isEntityStopsCharge

      public boolean isEntityStopsCharge(@Nonnull BuilderSupport support)
    • getBlockCollisionInteraction

      @Nullable public String getBlockCollisionInteraction(@Nonnull BuilderSupport support)
    • getNPCCollisionInteraction

      @Nullable public String getNPCCollisionInteraction(@Nonnull BuilderSupport support)
    • getPlayerCollisionInteraction

      @Nullable public String getPlayerCollisionInteraction(@Nonnull BuilderSupport support)
    • getClimbSlope

      public double getClimbSlope(@Nonnull BuilderSupport support)
    • getDropSlope

      public double getDropSlope(@Nonnull BuilderSupport support)
    • getHorizontalSkipGapWidth

      public double getHorizontalSkipGapWidth(@Nonnull BuilderSupport support)
    • getRepeatCollisionIgnoreDuration

      public double getRepeatCollisionIgnoreDuration(@Nonnull BuilderSupport support)
    • getKnockbackThreshold

      public double getKnockbackThreshold(@Nonnull BuilderSupport support)
    • getProbeChargeRecomputeDistance

      public double getProbeChargeRecomputeDistance(@Nonnull BuilderSupport support)
    • getProbeMinInterval

      public double getProbeMinInterval(@Nonnull BuilderSupport support)
    • getProbeMaxInterval

      public double getProbeMaxInterval(@Nonnull BuilderSupport support)
    • getProbeMinDirectionChangeRadians

      public double getProbeMinDirectionChangeRadians(@Nonnull BuilderSupport support)