TriggerCooldownInteraction class

Пакет: com.hypixel.hytale.server.core.modules.interaction.interaction.config.client

Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/config/client/TriggerCooldownInteraction.java

extends: SimpleInstantInteraction

Поля (28)

МодификаторыТипИмя
RootInteraction var10
InteractionCooldown var11
CooldownHandler.Cooldown var12
CooldownHandler.Cooldown var13
var2
var2
com.hypixel.hytale.protocol.TriggerCooldownInteraction var2
String var4
var4
float var5
var5
float[] var6
var6
float var6
var6
var6
var6
boolean var7
var7
float[] var7
var7
var7
var7
boolean var8
var8
var8
var8
InteractionChain var9

Методы (13)

МодификаторыВозвратСигнатура
if if(this.cooldown != null)
if if(var2 == null)
if if(var11 != null)
if if(var11.cooldown > 0.0F)
if if(var11.interruptRecharge)
if if(var11.chargeTimes != null && var11.chargeTimes.length > 0)
if if(var2 == null)
if if(var12 != null)
if if(var3 > 0.0F)
if if(var4 != null && var4.length > 0)
if if(var5)
static void resetCooldownvoid resetCooldown(@Nonnull InteractionContext var0, @Nonnull CooldownHandler var1, @Nullable String var2, float var3, @Nullable float[] var4, boolean var5)
abstract resetCooldown resetCooldown(var2, var3, var4, var5, var6, var7)

Исходный код

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

class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.protocol.Interaction;
class="kw">import com.hypixel.hytale.protocol.InteractionCooldown;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionChain;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionContext;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionManager;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.CooldownHandler;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.RootInteraction;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.SimpleInstantInteraction;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class TriggerCooldownInteraction class="kw">extends SimpleInstantInteraction {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<TriggerCooldownInteraction> CODEC = BuilderCodec.builder(
         TriggerCooldownInteraction.class, TriggerCooldownInteraction::new, SimpleInstantInteraction.CODEC
      )
      .documentation("Triggers the cooldown as if it was triggered normally.")
      .<InteractionCooldown>appendInherited(
         new KeyedCodec<>("Cooldown", RootInteraction.COOLDOWN_CODEC),
         (var0, var1) -> var0.cooldown = var1,
         var0 -> var0.cooldown,
         (var0, var1) -> var0.cooldown = var1.cooldown
      )
      .documentation("The cooldown concerning this interaction, defaulting to the root cooldown if none presented")
      .add()
      .build();
   @Nullable
   class="kw">private InteractionCooldown cooldown;

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

   @Override
   class="kw">protected void firstRun(@Nonnull InteractionType var1, @Nonnull InteractionContext var2, @Nonnull CooldownHandler var3) {
      String var4 = null;
      float var5 = 0.0F;
      float[] var6 = null;
      boolean var7 = false;
      if (this.cooldown != null) {
         var4 = this.cooldown.cooldownId;
         var5 = this.cooldown.cooldown;
         var6 = this.cooldown.chargeTimes;
         var7 = this.cooldown.interruptRecharge;
      }

      resetCooldown(var2, var3, var4, var5, var6, var7);
   }

   class="kw">protected class="kw">static void resetCooldown(
      @Nonnull InteractionContext var0, @Nonnull CooldownHandler var1, @Nullable String var2, float var3, @Nullable float[] var4, boolean var5
   ) {
      float var6 = 0.35F;
      float[] var7 = InteractionManager.DEFAULT_CHARGE_TIMES;
      boolean var8 = false;
      if (var2 == null) {
         InteractionChain var9 = var0.getChain();
         assert var9 != null;
         RootInteraction var10 = var9.getInitialRootInteraction();
         InteractionCooldown var11 = var10.getCooldown();
         if (var11 != null) {
            var2 = var11.cooldownId;
            if (var11.cooldown > 0.0F) {
               var6 = var11.cooldown;
            }

            if (var11.interruptRecharge) {
               var8 = true;
            }

            if (var11.chargeTimes != null && var11.chargeTimes.length > 0) {
               var7 = var11.chargeTimes;
            }
         }

         if (var2 == null) {
            var2 = var10.getId();
         }
      }

      CooldownHandler.Cooldown var12 = var1.getCooldown(var2);
      if (var12 != null) {
         var6 = var12.getCooldown();
         var7 = var12.getCharges();
         var8 = var12.interruptRecharge();
      }

      if (var3 > 0.0F) {
         var6 = var3;
      }

      if (var4 != null && var4.length > 0) {
         var7 = var4;
      }

      if (var5) {
         var8 = true;
      }

      CooldownHandler.Cooldown var13 = var1.getCooldown(var2, var6, var7, true, var8);
      var13.setCooldownMax(var6);
      var13.setCharges(var7);
      var13.deductCharge();
   }

   @Nonnull
   @Override
   class="kw">protected Interaction generatePacket() {
      class="kw">return new com.hypixel.hytale.protocol.TriggerCooldownInteraction();
   }

   @Override
   class="kw">protected void configurePacket(Interaction var1) {
      super.configurePacket(var1);
      com.hypixel.hytale.protocol.TriggerCooldownInteraction var2 = (com.hypixel.hytale.protocol.TriggerCooldownInteraction)var1;
      var2.cooldown = this.cooldown;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "TriggerCooldownInteraction{} " + super.toString();
   }
}