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;
}
}