CameraInteraction class

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

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

extends: SimpleInteraction

Поля (2)

МодификаторыТипИмя
com.hypixel.hytale.protocol.CameraInteraction var2
InteractionSyncData var6

Исходный код

Показать/скрыть
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.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.protocol.CameraActionType;
class="kw">import com.hypixel.hytale.protocol.CameraPerspectiveType;
class="kw">import com.hypixel.hytale.protocol.Interaction;
class="kw">import com.hypixel.hytale.protocol.InteractionSyncData;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.protocol.WaitForDataFrom;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionContext;
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 javax.annotation.Nonnull;

class="kw">public class CameraInteraction class="kw">extends SimpleInteraction {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<CameraInteraction> CODEC = BuilderCodec.builder(CameraInteraction.class, CameraInteraction::new, SimpleInteraction.CODEC)
      .documentation("Adjusts the camera of the user.")
      .<Boolean>appendInherited(
         new KeyedCodec<>("PersistCameraState", Codec.BOOLEAN),
         (var0, var1) -> var0.persistCameraState = var1,
         var0 -> var0.persistCameraState,
         (var0, var1) -> var0.persistCameraState = var1.persistCameraState
      )
      .documentation(
         "Should the camera state from this interaction persist to the next camera interaction. If the next interaction is null or not a camera interaction then this field does nothing."
      )
      .add()
      .<CameraActionType>appendInherited(
         new KeyedCodec<>("Action", new EnumCodec<>(CameraActionType.class)),
         (var0, var1) -> var0.action = var1,
         var0 -> var0.action,
         (var0, var1) -> var0.action = var1.action
      )
      .documentation("What kind of camera action should we take")
      .add()
      .<CameraPerspectiveType>appendInherited(
         new KeyedCodec<>("Perspective", new EnumCodec<>(CameraPerspectiveType.class)),
         (var0, var1) -> var0.perspective = var1,
         var0 -> var0.perspective,
         (var0, var1) -> var0.perspective = var1.perspective
      )
      .documentation("What camera perspective we want this interaction to take place in")
      .add()
      .<Float>appendInherited(
         new KeyedCodec<>("CameraInteractionTime", Codec.FLOAT),
         (var0, var1) -> var0.cameraInteractionTime = var1,
         var0 -> var0.cameraInteractionTime,
         (var0, var1) -> var0.cameraInteractionTime = var1.cameraInteractionTime
      )
      .documentation("How long this camera action lasts for")
      .add()
      .build();
   class="kw">protected CameraActionType action;
   class="kw">protected CameraPerspectiveType perspective;
   class="kw">protected boolean persistCameraState;
   class="kw">protected float cameraInteractionTime;

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

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

   @Override
   class="kw">protected void configurePacket(Interaction var1) {
      super.configurePacket(var1);
      com.hypixel.hytale.protocol.CameraInteraction var2 = (com.hypixel.hytale.protocol.CameraInteraction)var1;
      var2.cameraAction = this.action;
      var2.cameraPerspective = this.perspective;
      var2.cameraPersist = this.persistCameraState;
      var2.cameraInteractionTime = this.cameraInteractionTime;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "CameraInteraction{action="
         + this.action
         + ", perspective='"
         + this.perspective
         + "', persistCameraState='"
         + this.persistCameraState
         + "', cameraInteractionTime="
         + this.cameraInteractionTime
         + "} "
         + super.toString();
   }

   @Override
   class="kw">protected void tick0(boolean var1, float var2, @Nonnull InteractionType var3, @Nonnull InteractionContext var4, @Nonnull CooldownHandler var5) {
      super.tick0(var1, var2, var3, var4, var5);
      InteractionSyncData var6 = var4.getClientState();
      assert var6 != null;
      var4.getState().state = var6.state;
   }

   @Nonnull
   @Override
   class="kw">public WaitForDataFrom getWaitForDataFrom() {
      class="kw">return WaitForDataFrom.Client;
   }

   @Override
   class="kw">public boolean needsRemoteSync() {
      class="kw">return true;
   }
}