ExitInstance class

Пакет: com.hypixel.hytale.builtin.instances.config

Файл: com/hypixel/hytale/builtin/instances/config/ExitInstance.java

implements: RespawnController

Поля (1)

МодификаторыТипИмя
PlayerRef var5

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.instances.config;

class="kw">import com.hypixel.hytale.builtin.instances.InstancesPlugin;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.asset.type.gameplay.respawn.HomeOrSpawnPoint;
class="kw">import com.hypixel.hytale.server.core.asset.type.gameplay.respawn.RespawnController;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ExitInstance class="kw">implements RespawnController {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<ExitInstance> CODEC = BuilderCodec.builder(ExitInstance.class, ExitInstance::new)
      .append(new KeyedCodec<>("Fallback", RespawnController.CODEC), (var0, var1) -> var0.fallback = var1, var0 -> var0.fallback)
      .addValidator(Validators.nonNull())
      .add()
      .build();
   @Nonnull
   class="kw">private RespawnController fallback = HomeOrSpawnPoint.INSTANCE;

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

   @Override
   class="kw">public CompletableFuture<Void> respawnPlayer(@Nonnull World var1, @Nonnull Ref<EntityStore> var2, @Nonnull ComponentAccessor<EntityStore> var3) {
      try {
         class="kw">return InstancesPlugin.exitInstance(var2, var3);
      } catch (Exception var6) {
         PlayerRef var5 = var3.getComponent(var2, PlayerRef.getComponentType());
         assert var5 != null;
         ((HytaleLogger.Api)InstancesPlugin.get().getLogger().at(Level.WARNING).withCause(var6)).log("%s failed to leave an instance", var5.getUsername());
         class="kw">return this.fallback.respawnPlayer(var1, var2, var3);
      }
   }
}