DeployableFlag enum
Пакет: com.hypixel.hytale.builtin.deployables.component
Файл: com/hypixel/hytale/builtin/deployables/component/DeployableComponent.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
STATE,
LIVE,
BURST_SHOTS, |
TRIGGERED |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.deployables.component;
class="kw">import com.hypixel.hytale.builtin.deployables.DeployablesPlugin;
class="kw">import com.hypixel.hytale.builtin.deployables.config.DeployableConfig;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.time.Instant;
class="kw">import java.util.UUID;
class="kw">import java.util.concurrent.ThreadLocalRandom;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3f;
class="kw">public class DeployableComponent class="kw">implements Component<EntityStore> {
@Nonnull
class="kw">private class="kw">final int[] flags = new int[DeployableComponent.DeployableFlag.values().length];
class="kw">private DeployableConfig config;
class="kw">private Ref<EntityStore> owner;
class="kw">private UUID ownerUUID;
class="kw">private Instant spawnInstant;
class="kw">private float timeSinceLastAttack;
@Nullable
class="kw">private Vector3f debugColor;
class="kw">private boolean firstTickRan;
class="kw">private String spawnFace;
class="kw">public DeployableComponent() {
}
@Nonnull
class="kw">public class="kw">static ComponentType<EntityStore, DeployableComponent> getComponentType() {
class="kw">return DeployablesPlugin.get().getDeployableComponentType();
}
@Override
class="kw">public Component<EntityStore> clone() {
class="kw">return this;
}
class="kw">public void tick(float var1, int var2, @Nonnull ArchetypeChunk<EntityStore> var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5) {
if (!this.firstTickRan) {
this.config.firstTick(this, var1, var2, var3, var4, var5);
this.firstTickRan = true;
}
this.config.tick(this, var1, var2, var3, var4, var5);
}
class="kw">public void init(
@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2, @Nonnull DeployableConfig var3, @Nonnull Instant var4, @Nonnull String var5
) {
UUIDComponent var6 = var2.getComponent(var1, UUIDComponent.getComponentType());
assert var6 != null;
this.config = var3;
this.owner = var1;
this.spawnInstant = var4;
this.spawnFace = var5;
this.ownerUUID = var6.getUuid();
}
class="kw">public Ref<EntityStore> getOwner() {
class="kw">return this.owner;
}
class="kw">public UUID getOwnerUUID() {
class="kw">return this.ownerUUID;
}
class="kw">public DeployableConfig getConfig() {
class="kw">return this.config;
}
class="kw">public Instant getSpawnInstant() {
class="kw">return this.spawnInstant;
}
class="kw">public float getTimeSinceLastAttack() {
class="kw">return this.timeSinceLastAttack;
}
class="kw">public void setTimeSinceLastAttack(float var1) {
this.timeSinceLastAttack = var1;
}
class="kw">public float incrementTimeSinceLastAttack(float var1) {
class="kw">return this.timeSinceLastAttack += var1;
}
class="kw">public String getSpawnFace() {
class="kw">return this.spawnFace;
}
class="kw">public int getFlag(@Nonnull DeployableComponent.DeployableFlag var1) {
class="kw">return this.flags[var1.ordinal()];
}
class="kw">public void setFlag(@Nonnull DeployableComponent.DeployableFlag var1, int var2) {
this.flags[var1.ordinal()] = var2;
}
@Nonnull
class="kw">public Vector3f getDebugColor() {
if (this.debugColor == null) {
ThreadLocalRandom var1 = ThreadLocalRandom.current();
this.debugColor = new Vector3f(var1.nextFloat(), var1.nextFloat(), var1.nextFloat());
}
class="kw">return this.debugColor;
}
class="kw">public enum DeployableFlag {
STATE,
LIVE,
BURST_SHOTS,
TRIGGERED;
DeployableFlag() {
}
}
}