ResistanceCalculationType enum

Пакет: com.hypixel.hytale.server.core.modules.entity.damage

Файл: com/hypixel/hytale/server/core/modules/entity/damage/ResistanceModifier.java

Поля (1)

МодификаторыТипИмя
FLAT, PERCENT

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.entity.damage;

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.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.server.core.io.NetworkSerializable;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ResistanceModifier class="kw">implements NetworkSerializable<com.hypixel.hytale.protocol.ResistanceModifier> {
   class="kw">public class="kw">static class="kw">final BuilderCodec<ResistanceModifier> CODEC = BuilderCodec.builder(ResistanceModifier.class, ResistanceModifier::new)
      .append(
         new KeyedCodec<>("CalculationType", new EnumCodec<>(ResistanceModifier.ResistanceCalculationType.class)),
         (var0, var1) -> var0.calculationType = var1,
         var0 -> var0.calculationType
      )
      .addValidator(Validators.nonNull())
      .documentation("When using 'Percent', the amount represents a percentage reduction. For example, 0.25 equals 25% reduction.")
      .add()
      .append(new KeyedCodec<>("Amount", Codec.FLOAT), (var0, var1) -> var0.amount = var1, var0 -> var0.amount)
      .add()
      .build();
   class="kw">protected ResistanceModifier.ResistanceCalculationType calculationType;
   class="kw">protected float amount;

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

   class="kw">public ResistanceModifier(ResistanceModifier.ResistanceCalculationType var1, float var2) {
      this.calculationType = var1;
      this.amount = var2;
   }

   class="kw">public ResistanceModifier.ResistanceCalculationType getCalculationType() {
      class="kw">return this.calculationType;
   }

   class="kw">public float getAmount() {
      class="kw">return this.amount;
   }

   @Nonnull
   class="kw">public com.hypixel.hytale.protocol.ResistanceModifier toPacket() {
      com.hypixel.hytale.protocol.ResistanceModifier var1 = new com.hypixel.hytale.protocol.ResistanceModifier();

      var1.calculationType = class="kw">switch (this.calculationType) {
         case FLAT -> com.hypixel.hytale.protocol.ResistanceCalculationType.Flat;
         case PERCENT -> com.hypixel.hytale.protocol.ResistanceCalculationType.Percent;
      };
      var1.amount = this.amount;
      class="kw">return var1;
   }

   @Override
   class="kw">public boolean equals(@Nullable Object var1) {
      if (this == var1) {
         class="kw">return true;
      } else if (var1 != null && this.getClass() == var1.getClass()) {
         ResistanceModifier var2 = (ResistanceModifier)var1;
         class="kw">return Float.compare(var2.amount, this.amount) != 0 ? false : this.calculationType == var2.calculationType;
      } else {
         class="kw">return false;
      }
   }

   @Override
   class="kw">public int hashCode() {
      int var1 = this.calculationType != null ? this.calculationType.hashCode() : 0;
      class="kw">return 31 * var1 + (this.amount != 0.0F ? Float.floatToIntBits(this.amount) : 0);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "ResistanceModifier{calculationType=" + this.calculationType + ", amount=" + this.amount + "}";
   }

   class="kw">public enum ResistanceCalculationType {
      FLAT,
      PERCENT;

      ResistanceCalculationType() {
      }
   }
}