Direction enum

Пакет: com.hypixel.hytale.builtin.triggervolumes.effect.builtin.rules

Файл: com/hypixel/hytale/builtin/triggervolumes/effect/builtin/rules/DamageMultiplierRule.java

Поля (1)

МодификаторыТипИмя
RECEIVED, DEALT, BOTH

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.effect.builtin.rules;

class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerRule;
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.common.util.ArrayUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class DamageMultiplierRule class="kw">extends TriggerRule {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<DamageMultiplierRule> CODEC = BuilderCodec.builder(DamageMultiplierRule.class, DamageMultiplierRule::new, BASE_CODEC)
      .append(
         new KeyedCodec<>("Multiplier", Codec.FLOAT, false),
         (var0, var1) -> var0.multiplier = var1 != null ? Math.max(0.0F, var1) : 1.0F,
         var0 -> var0.multiplier
      )
      .add()
      .append(
         new KeyedCodec<>("Direction", new EnumCodec<>(DamageMultiplierRule.Direction.class), false),
         (var0, var1) -> var0.direction = var1 != null ? var1 : DamageMultiplierRule.Direction.RECEIVED,
         var0 -> var0.direction
      )
      .add()
      .append(
         new KeyedCodec<>("EntityFilter", new EnumCodec<>(RuleEntityFilter.class), false),
         (var0, var1) -> var0.entityFilter = var1 != null ? var1 : RuleEntityFilter.ALL,
         var0 -> var0.entityFilter
      )
      .add()
      .append(
         new KeyedCodec<>("Entities", Codec.STRING_ARRAY, false),
         (var0, var1) -> var0.entities = var1 != null ? var1 : ArrayUtil.EMPTY_STRING_ARRAY,
         var0 -> var0.entities.length == 0 ? null : var0.entities
      )
      .add()
      .build();
   class="kw">private float multiplier = 1.0F;
   @Nonnull
   class="kw">private DamageMultiplierRule.Direction direction = DamageMultiplierRule.Direction.RECEIVED;
   @Nonnull
   class="kw">private RuleEntityFilter entityFilter = RuleEntityFilter.ALL;
   @Nonnull
   class="kw">private String[] entities = ArrayUtil.EMPTY_STRING_ARRAY;

   class="kw">public DamageMultiplierRule() {
   }

   class="kw">public float getMultiplier() {
      class="kw">return this.multiplier;
   }

   @Nonnull
   class="kw">public DamageMultiplierRule.Direction getDirection() {
      class="kw">return this.direction;
   }

   class="kw">public boolean affects(@Nullable String var1) {
      class="kw">return this.entityFilter.appliesTo(var1, this.entities);
   }

   class="kw">public enum Direction {
      RECEIVED,
      DEALT,
      BOTH;

      Direction() {
      }
   }
}