TelemetryModule class

Пакет: com.hypixel.hytale.server.core.telemetry

Файл: com/hypixel/hytale/server/core/telemetry/TelemetryModule.java

extends: JavaPlugin

Поля (8)

МодификаторыТипИмя
final HytaleLogger LOGGER
instance
HytaleServerConfig.Module var1
boolean var2
PlayerRef var2
ShutdownReason var2
EventRegistry var3
String var3

Методы (5)

МодификаторыВозвратСигнатура
if if(!var2)
private void onBootvoid onBoot(@Nonnull BootEvent var1)
private void onPlayerConnectvoid onPlayerConnect(@Nonnull PlayerConnectEvent var1)
private void onShutdownvoid onShutdown(@Nonnull ShutdownEvent var1)
abstract super super(var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.telemetry;

class="kw">import com.hypixel.hytale.common.plugin.PluginManifest;
class="kw">import com.hypixel.hytale.event.EventRegistry;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.HytaleServer;
class="kw">import com.hypixel.hytale.server.core.HytaleServerConfig;
class="kw">import com.hypixel.hytale.server.core.ShutdownReason;
class="kw">import com.hypixel.hytale.server.core.event.events.BootEvent;
class="kw">import com.hypixel.hytale.server.core.event.events.ShutdownEvent;
class="kw">import com.hypixel.hytale.server.core.event.events.player.PlayerConnectEvent;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPlugin;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class TelemetryModule class="kw">extends JavaPlugin {
   class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
   @Nonnull
   class="kw">public class="kw">static class="kw">final PluginManifest MANIFEST = PluginManifest.corePlugin(TelemetryModule.class).depends(Universe.class).build();
   @Nullable
   class="kw">private class="kw">static TelemetryModule instance;
   @Nonnull
   class="kw">private class="kw">final TelemetryService telemetryService = new TelemetryService();

   @Nullable
   class="kw">public class="kw">static TelemetryModule get() {
      class="kw">return instance;
   }

   class="kw">public TelemetryModule(@Nonnull JavaPluginInit var1) {
      super(var1);
      instance = this;
   }

   @Nonnull
   class="kw">public TelemetryService getService() {
      class="kw">return this.telemetryService;
   }

   @Override
   class="kw">protected void setup() {
      HytaleServerConfig.Module var1 = HytaleServer.get().getConfig().getModule("Telemetry");
      boolean var2 = var1.isEnabled(true);
      this.telemetryService.setEnabled(var2);
      if (!var2) {
         LOGGER.at(Level.INFO).log("Server telemetry is disabled");
      } else {
         LOGGER.at(Level.INFO).log("Server telemetry is enabled");
         EventRegistry var3 = this.getEventRegistry();
         var3.register(BootEvent.class, this::onBoot);
         var3.register(PlayerConnectEvent.class, this::onPlayerConnect);
         var3.register((short)-56, ShutdownEvent.class, this::onShutdown);
      }
   }

   @Override
   class="kw">protected void start() {
   }

   @Override
   class="kw">protected void shutdown() {
      this.telemetryService.shutdown();
   }

   class="kw">private void onBoot(@Nonnull BootEvent var1) {
      if (this.telemetryService.isEnabled()) {
         LOGGER.at(Level.INFO).log("Sending server start telemetry...");
         this.telemetryService.sendServerStart();
      }
   }

   class="kw">private void onPlayerConnect(@Nonnull PlayerConnectEvent var1) {
      if (this.telemetryService.isEnabled()) {
         PlayerRef var2 = var1.getPlayerRef();
         this.telemetryService.recordPlayerConnect(var2.getUuid());
      }
   }

   class="kw">private void onShutdown(@Nonnull ShutdownEvent var1) {
      if (this.telemetryService.isEnabled()) {
         ShutdownReason var2 = HytaleServer.get().getShutdownReason();
         String var3 = var2 != null ? var2.getName() : "unknown";
         LOGGER.at(Level.INFO).log("Sending server stop telemetry (reason: %s)...", var3);
         this.telemetryService.sendServerStop(var3);
      }
   }
}