CombatConfig class

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

Файл: com/hypixel/hytale/server/core/asset/type/gameplay/CombatConfig.java

Методы (5)

МодификаторыВозвратСигнатура
public int getStaminaBrokenEffectIndexint getStaminaBrokenEffectIndex()
public boolean isDisplayCombatTextboolean isDisplayCombatText()
public boolean isDisplayHealthBarsboolean isDisplayHealthBars()
public boolean isNpcIncomingDamageDisabledboolean isNpcIncomingDamageDisabled()
public boolean isPlayerIncomingDamageDisabledboolean isPlayerIncomingDamageDisabled()

Исходный код

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

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.server.core.asset.type.entityeffect.config.EntityEffect;
class="kw">import java.time.Duration;
class="kw">import javax.annotation.Nonnull;

class="kw">public class CombatConfig {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<CombatConfig> CODEC = BuilderCodec.builder(CombatConfig.class, CombatConfig::new)
      .appendInherited(
         new KeyedCodec<>("OutOfCombatDelaySeconds", Codec.DURATION_SECONDS),
         (var0, var1) -> var0.outOfCombatDelay = var1,
         var0 -> var0.outOfCombatDelay,
         (var0, var1) -> var0.outOfCombatDelay = var1.outOfCombatDelay
      )
      .documentation("Delay before an entity is considered out of combat. Expressed in seconds.")
      .addValidator(Validators.greaterThanOrEqual(Duration.ZERO))
      .add()
      .<String>appendInherited(
         new KeyedCodec<>("StaminaBrokenEffectId", Codec.STRING),
         (var0, var1) -> var0.staminaBrokenEffectId = var1,
         var0 -> var0.staminaBrokenEffectId,
         (var0, var1) -> var0.staminaBrokenEffectId = var1.staminaBrokenEffectId
      )
      .documentation("The id of the EntityEffect to apply upon stamina being depleted due to damage.")
      .addValidator(Validators.nonNull())
      .addValidator(EntityEffect.VALIDATOR_CACHE.getValidator())
      .add()
      .<Boolean>appendInherited(
         new KeyedCodec<>("DisplayHealthBars", Codec.BOOLEAN),
         (var0, var1) -> var0.displayHealthBars = var1,
         var0 -> var0.displayHealthBars,
         (var0, var1) -> var0.displayHealthBars = var1.displayHealthBars
      )
      .documentation("Whether to display health bars above entities. Clients can still disable this in their settings.")
      .add()
      .<Boolean>appendInherited(
         new KeyedCodec<>("DisplayCombatText", Codec.BOOLEAN),
         (var0, var1) -> var0.displayCombatText = var1,
         var0 -> var0.displayCombatText,
         (var0, var1) -> var0.displayCombatText = var1.displayCombatText
      )
      .documentation("Whether to display combat text (damage numbers) on entities. Clients can still disable this in their settings.")
      .add()
      .afterDecode(var0 -> var0.staminaBrokenEffectIndex = EntityEffect.getAssetMap().getIndex(var0.staminaBrokenEffectId))
      .<Boolean>appendInherited(
         new KeyedCodec<>("DisableNPCIncomingDamage", Codec.BOOLEAN),
         (var0, var1) -> var0.disableNpcIncomingDamage = var1,
         var0 -> var0.disableNpcIncomingDamage,
         (var0, var1) -> var0.disableNpcIncomingDamage = var1.disableNpcIncomingDamage
      )
      .documentation("Whether NPCs can take damage.")
      .add()
      .<Boolean>appendInherited(
         new KeyedCodec<>("DisablePlayerIncomingDamage", Codec.BOOLEAN),
         (var0, var1) -> var0.disablePlayerIncomingDamage = var1,
         var0 -> var0.disablePlayerIncomingDamage,
         (var0, var1) -> var0.disablePlayerIncomingDamage = var1.disablePlayerIncomingDamage
      )
      .documentation("Whether players can take damage.")
      .add()
      .build();
   @Nonnull
   class="kw">protected Duration outOfCombatDelay = Duration.ofSeconds(5L);
   class="kw">protected String staminaBrokenEffectId = "Stamina_Broken";
   class="kw">private int staminaBrokenEffectIndex;
   class="kw">protected boolean displayHealthBars = true;
   class="kw">protected boolean displayCombatText = true;
   class="kw">protected boolean disableNpcIncomingDamage = false;
   class="kw">protected boolean disablePlayerIncomingDamage = false;

   class="kw">public CombatConfig() {
      this.staminaBrokenEffectIndex = EntityEffect.getAssetMap().getIndex(this.staminaBrokenEffectId);
   }

   @Nonnull
   class="kw">public Duration getOutOfCombatDelay() {
      class="kw">return this.outOfCombatDelay;
   }

   class="kw">public int getStaminaBrokenEffectIndex() {
      class="kw">return this.staminaBrokenEffectIndex;
   }

   class="kw">public boolean isDisplayHealthBars() {
      class="kw">return this.displayHealthBars;
   }

   class="kw">public boolean isDisplayCombatText() {
      class="kw">return this.displayCombatText;
   }

   class="kw">public boolean isNpcIncomingDamageDisabled() {
      class="kw">return this.disableNpcIncomingDamage;
   }

   class="kw">public boolean isPlayerIncomingDamageDisabled() {
      class="kw">return this.disablePlayerIncomingDamage;
   }
}