TempleRespawnPlayersSystem class
Пакет: com.hypixel.hytale.builtin.adventure.memories.temple
Файл: com/hypixel/hytale/builtin/adventure/memories/temple/TempleRespawnPlayersSystem.java
extends: DelayedEntitySystem<EntityStore>
Поля (10)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Vector3d |
var10 |
|
Ref |
var11 |
|
ISpawnProvider |
var12 |
|
Transform |
var13 |
|
Teleport |
var14 |
|
PlayerRef |
var15 |
|
World |
var6 |
|
GameplayConfig |
var7 |
|
ForgottenTempleConfig |
var8 |
|
TransformComponent |
var9 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var8 != null) |
abstract |
|
super super(1.0F) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.memories.temple;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
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.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.tick.DelayedEntitySystem;
class="kw">import com.hypixel.hytale.math.vector.Transform;
class="kw">import com.hypixel.hytale.protocol.SoundCategory;
class="kw">import com.hypixel.hytale.server.core.asset.type.gameplay.GameplayConfig;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.teleport.Teleport;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.SoundUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.spawn.ISpawnProvider;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class TempleRespawnPlayersSystem class="kw">extends DelayedEntitySystem<EntityStore> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, PlayerRef> playerRefComponentType;
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, TransformComponent> transformComponentType;
@Nonnull
class="kw">private class="kw">final Query<EntityStore> query;
class="kw">public TempleRespawnPlayersSystem(@Nonnull ComponentType<EntityStore, PlayerRef> var1, @Nonnull ComponentType<EntityStore, TransformComponent> var2) {
super(1.0F);
this.playerRefComponentType = var1;
this.transformComponentType = var2;
this.query = Query.and(var1, var2);
}
@Override
class="kw">public void tick(float var1, int var2, @Nonnull ArchetypeChunk<EntityStore> var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5) {
World var6 = var4.getExternalData().getWorld();
GameplayConfig var7 = var6.getGameplayConfig();
ForgottenTempleConfig var8 = var7.getPluginConfig().get(ForgottenTempleConfig.class);
if (var8 != null) {
TransformComponent var9 = var3.getComponent(var2, this.transformComponentType);
assert var9 != null;
Vector3d var10 = var9.getPosition();
if (!(var10.y() > var8.getMinYRespawn())) {
Ref var11 = var3.getReferenceTo(var2);
ISpawnProvider var12 = var6.getWorldConfig().getSpawnProvider();
Transform var13 = var12.getSpawnPoint(var11, var5);
Teleport var14 = Teleport.createForPlayer(null, var13);
var5.addComponent(var11, Teleport.getComponentType(), var14);
PlayerRef var15 = var3.getComponent(var2, this.playerRefComponentType);
assert var15 != null;
SoundUtil.playSoundEvent2dToPlayer(var15, var8.getRespawnSoundIndex(), SoundCategory.SFX);
}
}
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.query;
}
}