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