ApplicationEffects class

Пакет: com.hypixel.hytale.server.core.asset.type.entityeffect.config

Файл: com/hypixel/hytale/server/core/asset/type/entityeffect/config/ApplicationEffects.java

implements: NetworkSerializable<com.hypixel.hytale.protocol.ApplicationEffects>

Поля (2)

МодификаторыТипИмя
com.hypixel.hytale.protocol.ApplicationEffects var1
IndexedLookupTableAssetMap var1

Методы (11)

МодификаторыВозвратСигнатура
for for(int var2 = 0; var2 < this.particles.length; var2++)
for for(int var3 = 0; var3 < this.firstPersonParticles.length; var3++)
public float getHorizontalSpeedMultiplierfloat getHorizontalSpeedMultiplier()
public float getKnockbackMultiplierfloat getKnockbackMultiplier()
if if(this.particles != null && this.particles.length > 0)
if if(this.firstPersonParticles != null && this.firstPersonParticles.length > 0)
if if(this.movementEffects != null)
if if(this.abilityEffects != null)
if if(this.soundEventIdLocal != null)
if if(this.soundEventIdWorld != null)
protected void processConfigvoid processConfig()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.entityeffect.config;

class="kw">import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.protocol.Color;
class="kw">import com.hypixel.hytale.server.core.asset.common.CommonAssetValidator;
class="kw">import com.hypixel.hytale.server.core.asset.modifiers.MovementEffects;
class="kw">import com.hypixel.hytale.server.core.asset.type.model.config.ModelParticle;
class="kw">import com.hypixel.hytale.server.core.asset.type.modelvfx.config.ModelVFX;
class="kw">import com.hypixel.hytale.server.core.asset.type.soundevent.config.SoundEvent;
class="kw">import com.hypixel.hytale.server.core.asset.type.soundevent.validator.SoundEventValidators;
class="kw">import com.hypixel.hytale.server.core.codec.ProtocolCodecs;
class="kw">import com.hypixel.hytale.server.core.io.NetworkSerializable;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ApplicationEffects class="kw">implements NetworkSerializable<com.hypixel.hytale.protocol.ApplicationEffects> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<ApplicationEffects> CODEC = BuilderCodec.builder(ApplicationEffects.class, ApplicationEffects::new)
      .appendInherited(
         new KeyedCodec<>("EntityBottomTint", ProtocolCodecs.COLOR),
         (var0, var1) -> var0.entityBottomTint = var1,
         var0 -> var0.entityBottomTint,
         (var0, var1) -> var0.entityBottomTint = var1.entityBottomTint
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("EntityTopTint", ProtocolCodecs.COLOR),
         (var0, var1) -> var0.entityTopTint = var1,
         var0 -> var0.entityTopTint,
         (var0, var1) -> var0.entityTopTint = var1.entityTopTint
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("EntityAnimationId", Codec.STRING),
         (var0, var1) -> var0.entityAnimationId = var1,
         var0 -> var0.entityAnimationId,
         (var0, var1) -> var0.entityAnimationId = var1.entityAnimationId
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Particles", ModelParticle.ARRAY_CODEC),
         (var0, var1) -> var0.particles = var1,
         var0 -> var0.particles,
         (var0, var1) -> var0.particles = var1.particles
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("FirstPersonParticles", ModelParticle.ARRAY_CODEC),
         (var0, var1) -> var0.firstPersonParticles = var1,
         var0 -> var0.firstPersonParticles,
         (var0, var1) -> var0.firstPersonParticles = var1.firstPersonParticles
      )
      .add()
      .<String>appendInherited(
         new KeyedCodec<>("ScreenEffect", Codec.STRING),
         (var0, var1) -> var0.screenEffect = var1,
         var0 -> var0.screenEffect,
         (var0, var1) -> var0.screenEffect = var1.screenEffect
      )
      .addValidator(CommonAssetValidator.UI_SCREEN_EFFECT)
      .add()
      .<Double>appendInherited(
         new KeyedCodec<>("HorizontalSpeedMultiplier", Codec.DOUBLE),
         (var0, var1) -> var0.horizontalSpeedMultiplier = var1.floatValue(),
         var0 -> (double)var0.horizontalSpeedMultiplier,
         (var0, var1) -> var0.horizontalSpeedMultiplier = var1.horizontalSpeedMultiplier
      )
      .addValidator(Validators.greaterThanOrEqual(0.0))
      .add()
      .<Double>appendInherited(
         new KeyedCodec<>("KnockbackMultiplier", Codec.DOUBLE),
         (var0, var1) -> var0.knockbackMultiplier = var1.floatValue(),
         var0 -> (double)var0.knockbackMultiplier,
         (var0, var1) -> var0.knockbackMultiplier = var1.knockbackMultiplier
      )
      .addValidator(Validators.greaterThanOrEqual(0.0))
      .add()
      .<String>appendInherited(
         new KeyedCodec<>("LocalSoundEventId", Codec.STRING),
         (var0, var1) -> var0.soundEventIdLocal = var1,
         var0 -> var0.soundEventIdLocal,
         (var0, var1) -> var0.soundEventIdLocal = var1.soundEventIdLocal
      )
      .documentation("Local sound event played to the affected player")
      .addValidator(SoundEvent.VALIDATOR_CACHE.getValidator())
      .add()
      .<String>appendInherited(
         new KeyedCodec<>("WorldSoundEventId", Codec.STRING),
         (var0, var1) -> var0.soundEventIdWorld = var1,
         var0 -> var0.soundEventIdWorld,
         (var0, var1) -> var0.soundEventIdWorld = var1.soundEventIdWorld
      )
      .documentation("World sound event played to surrounding players")
      .addValidator(SoundEvent.VALIDATOR_CACHE.getValidator())
      .addValidator(SoundEventValidators.MONO)
      .add()
      .afterDecode(ApplicationEffects::processConfig)
      .<String>appendInherited(
         new KeyedCodec<>("ModelVFXId", Codec.STRING),
         (var0, var1) -> var0.modelVFXId = var1,
         var0 -> var0.modelVFXId,
         (var0, var1) -> var0.modelVFXId = var1.modelVFXId
      )
      .addValidator(ModelVFX.VALIDATOR_CACHE.getValidator())
      .add()
      .appendInherited(
         new KeyedCodec<>("MovementEffects", MovementEffects.CODEC),
         (var0, var1) -> var0.movementEffects = var1,
         var0 -> var0.movementEffects,
         (var0, var1) -> var0.movementEffects = var1.movementEffects
      )
      .add()
      .<AbilityEffects>appendInherited(
         new KeyedCodec<>("AbilityEffects", AbilityEffects.CODEC),
         (var0, var1) -> var0.abilityEffects = var1,
         var0 -> var0.abilityEffects,
         (var0, var1) -> var0.abilityEffects = var1.abilityEffects
      )
      .documentation("Handles any effects applied that are affiliated with abilities")
      .add()
      .<Float>appendInherited(
         new KeyedCodec<>("MouseSensitivityAdjustmentTarget", Codec.FLOAT),
         (var0, var1) -> var0.mouseSensitivityAdjustmentTarget = var1,
         var0 -> var0.mouseSensitivityAdjustmentTarget,
         (var0, var1) -> var0.mouseSensitivityAdjustmentTarget = var1.mouseSensitivityAdjustmentTarget
      )
      .documentation("What is the target modifier to apply to mouse sensitivity while this interaction is active.")
      .addValidator(Validators.range(0.0F, 1.0F))
      .add()
      .<Float>appendInherited(
         new KeyedCodec<>("MouseSensitivityAdjustmentDuration", Codec.FLOAT),
         (var0, var1) -> var0.mouseSensitivityAdjustmentDuration = var1,
         var0 -> var0.mouseSensitivityAdjustmentDuration,
         (var0, var1) -> var0.mouseSensitivityAdjustmentDuration = var1.mouseSensitivityAdjustmentDuration
      )
      .documentation("Override the global linear modifier adjustment with this as the time to go from 1.0 to 0.0.")
      .add()
      .build();
   class="kw">protected Color entityBottomTint;
   class="kw">protected Color entityTopTint;
   class="kw">protected String entityAnimationId;
   class="kw">protected ModelParticle[] particles;
   class="kw">protected ModelParticle[] firstPersonParticles;
   class="kw">protected String screenEffect;
   class="kw">protected float horizontalSpeedMultiplier = 1.0F;
   class="kw">protected float knockbackMultiplier = 1.0F;
   class="kw">protected String soundEventIdLocal;
   class="kw">protected class="kw">transient int soundEventIndexLocal = 0;
   class="kw">protected String soundEventIdWorld;
   class="kw">protected class="kw">transient int soundEventIndexWorld = 0;
   class="kw">protected String modelVFXId;
   class="kw">protected MovementEffects movementEffects;
   class="kw">protected AbilityEffects abilityEffects;
   class="kw">private float mouseSensitivityAdjustmentTarget;
   class="kw">private float mouseSensitivityAdjustmentDuration;

   class="kw">protected ApplicationEffects() {
   }

   @Nonnull
   class="kw">public com.hypixel.hytale.protocol.ApplicationEffects toPacket() {
      com.hypixel.hytale.protocol.ApplicationEffects var1 = new com.hypixel.hytale.protocol.ApplicationEffects();
      var1.entityBottomTint = this.entityBottomTint;
      var1.entityTopTint = this.entityTopTint;
      var1.entityAnimationId = this.entityAnimationId;
      if (this.particles != null && this.particles.length > 0) {
         var1.particles = new com.hypixel.hytale.protocol.ModelParticle[this.particles.length];

         for (int var2 = 0; var2 < this.particles.length; var2++) {
            var1.particles[var2] = this.particles[var2].toPacket();
         }
      }

      if (this.firstPersonParticles != null && this.firstPersonParticles.length > 0) {
         var1.firstPersonParticles = new com.hypixel.hytale.protocol.ModelParticle[this.firstPersonParticles.length];

         for (int var3 = 0; var3 < this.firstPersonParticles.length; var3++) {
            var1.firstPersonParticles[var3] = this.firstPersonParticles[var3].toPacket();
         }
      }

      var1.screenEffect = this.screenEffect;
      var1.horizontalSpeedMultiplier = this.horizontalSpeedMultiplier;
      var1.soundEventIndexLocal = this.soundEventIndexLocal != 0 ? this.soundEventIndexLocal : this.soundEventIndexWorld;
      var1.soundEventIndexWorld = this.soundEventIndexWorld;
      var1.modelVFXId = this.modelVFXId;
      if (this.movementEffects != null) {
         var1.movementEffects = this.movementEffects.toPacket();
      }

      if (this.abilityEffects != null) {
         var1.abilityEffects = this.abilityEffects.toPacket();
      }

      var1.mouseSensitivityAdjustmentDuration = this.mouseSensitivityAdjustmentDuration;
      var1.mouseSensitivityAdjustmentTarget = this.mouseSensitivityAdjustmentTarget;
      class="kw">return var1;
   }

   class="kw">public float getHorizontalSpeedMultiplier() {
      class="kw">return this.horizontalSpeedMultiplier;
   }

   class="kw">public float getKnockbackMultiplier() {
      class="kw">return this.knockbackMultiplier;
   }

   class="kw">protected void processConfig() {
      IndexedLookupTableAssetMap var1 = SoundEvent.getAssetMap();
      if (this.soundEventIdLocal != null) {
         this.soundEventIndexLocal = var1.getIndex(this.soundEventIdLocal);
      }

      if (this.soundEventIdWorld != null) {
         this.soundEventIndexWorld = var1.getIndex(this.soundEventIdWorld);
      }
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "ApplicationEffects{entityBottomTint="
         + this.entityBottomTint
         + ", entityTopTint="
         + this.entityTopTint
         + ", entityAnimationId='"
         + this.entityAnimationId
         + "', particles="
         + Arrays.toString(this.particles)
         + ", firstPersonParticles="
         + Arrays.toString(this.firstPersonParticles)
         + ", screenEffect='"
         + this.screenEffect
         + "', horizontalSpeedMultiplier="
         + this.horizontalSpeedMultiplier
         + ", soundEventIndexLocal="
         + this.soundEventIndexLocal
         + ", soundEventIndexWorld="
         + this.soundEventIndexWorld
         + ", movementEffects="
         + this.movementEffects
         + ", abilityEffects="
         + this.abilityEffects
         + "}";
   }
}