ConditionInteraction class

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

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

extends: SimpleInteraction

Поля (13)

МодификаторыТипИмя
MovementStatesComponent var10
MovementStates var11
com.hypixel.hytale.protocol.ConditionInteraction var2
boolean var6
var6
var6
var6
var6
var6
var6
CommandBuffer var7
Ref var8
Player var9

Методы (5)

МодификаторыВозвратСигнатура
if if(this.jumping != null && this.jumping != var11.jumping)
if if(this.swimming != null && this.swimming != var11.swimming)
if if(this.crouching != null && this.crouching != var11.crouching)
if if(this.running != null && this.running != var11.running)
if if(this.flying != null && this.flying != var11.flying)

Исходный код

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

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.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.protocol.GameMode;
class="kw">import com.hypixel.hytale.protocol.Interaction;
class="kw">import com.hypixel.hytale.protocol.InteractionState;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.protocol.MovementStates;
class="kw">import com.hypixel.hytale.server.core.codec.ProtocolCodecs;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionContext;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.entity.movement.MovementStatesComponent;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.CooldownHandler;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.SimpleInteraction;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ConditionInteraction class="kw">extends SimpleInteraction {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<ConditionInteraction> CODEC = BuilderCodec.builder(
         ConditionInteraction.class, ConditionInteraction::new, SimpleInteraction.CODEC
      )
      .documentation("An interaction that is successful if the given conditions are met.")
      .appendInherited(
         new KeyedCodec<>("RequiredGameMode", ProtocolCodecs.GAMEMODE),
         (var0, var1) -> var0.requiredGameMode = var1,
         var0 -> var0.requiredGameMode,
         (var0, var1) -> var0.requiredGameMode = var1.requiredGameMode
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Jumping", Codec.BOOLEAN), (var0, var1) -> var0.jumping = var1, var0 -> var0.jumping, (var0, var1) -> var0.jumping = var1.jumping
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Swimming", Codec.BOOLEAN),
         (var0, var1) -> var0.swimming = var1,
         var0 -> var0.swimming,
         (var0, var1) -> var0.swimming = var1.swimming
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Crouching", Codec.BOOLEAN),
         (var0, var1) -> var0.crouching = var1,
         var0 -> var0.crouching,
         (var0, var1) -> var0.crouching = var1.crouching
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Running", Codec.BOOLEAN), (var0, var1) -> var0.running = var1, var0 -> var0.running, (var0, var1) -> var0.running = var1.running
      )
      .add()
      .<Boolean>appendInherited(
         new KeyedCodec<>("Flying", Codec.BOOLEAN), (var0, var1) -> var0.flying = var1, var0 -> var0.flying, (var0, var1) -> var0.flying = var1.flying
      )
      .documentation("Whether the entity can be flying.")
      .add()
      .build();
   @Nullable
   class="kw">private GameMode requiredGameMode;
   @Nullable
   class="kw">private Boolean jumping;
   @Nullable
   class="kw">private Boolean swimming;
   @Nullable
   class="kw">private Boolean crouching;
   @Nullable
   class="kw">private Boolean running;
   @Nullable
   class="kw">private Boolean flying;

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

   @Override
   class="kw">protected void tick0(boolean var1, float var2, @Nonnull InteractionType var3, @Nonnull InteractionContext var4, @Nonnull CooldownHandler var5) {
      boolean var6 = true;
      CommandBuffer var7 = var4.getCommandBuffer();
      assert var7 != null;
      Ref var8 = var4.getOwningEntity();
      Player var9 = var7.getComponent(var8, Player.getComponentType());
      if (this.requiredGameMode != null && var9 != null && this.requiredGameMode != var9.getGameMode()) {
         var6 = false;
      }

      MovementStatesComponent var10 = var7.getComponent(var8, MovementStatesComponent.getComponentType());
      assert var10 != null;
      MovementStates var11 = var10.getMovementStates();
      if (this.jumping != null && this.jumping != var11.jumping) {
         var6 = false;
      }

      if (this.swimming != null && this.swimming != var11.swimming) {
         var6 = false;
      }

      if (this.crouching != null && this.crouching != var11.crouching) {
         var6 = false;
      }

      if (this.running != null && this.running != var11.running) {
         var6 = false;
      }

      if (this.flying != null && this.flying != var11.flying) {
         var6 = false;
      }

      var4.getState().state = var6 ? InteractionState.Finished : InteractionState.Failed;
      super.tick0(var1, var2, var3, var4, var5);
   }

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

   @Override
   class="kw">protected void configurePacket(Interaction var1) {
      super.configurePacket(var1);
      com.hypixel.hytale.protocol.ConditionInteraction var2 = (com.hypixel.hytale.protocol.ConditionInteraction)var1;
      var2.requiredGameMode = this.requiredGameMode;
      var2.jumping = this.jumping;
      var2.swimming = this.swimming;
      var2.crouching = this.crouching;
      var2.running = this.running;
      var2.flying = this.flying;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "ConditionInteraction{requiredGameMode="
         + this.requiredGameMode
         + ", jumping="
         + this.jumping
         + ", swimming="
         + this.swimming
         + ", crouching="
         + this.crouching
         + ", running="
         + this.running
         + ", flying="
         + this.flying
         + "} "
         + super.toString();
   }
}