From c4767bd2403c8b05b75e7fd82a4fbddad9f14dd7 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sun, 9 May 2021 18:54:23 +0300 Subject: [PATCH] config: fake online --- server/src/main/java/mc/server/PacketHandler.java | 4 +++- server/src/main/java/mc/server/config/Config.java | 11 ++++++++++- server/src/main/java/mc/server/di/ConfigModule.java | 6 +++++- server/src/main/resources/config-sample.yml | 4 +++- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/mc/server/PacketHandler.java b/server/src/main/java/mc/server/PacketHandler.java index 11ae54f..20ed7c9 100644 --- a/server/src/main/java/mc/server/PacketHandler.java +++ b/server/src/main/java/mc/server/PacketHandler.java @@ -63,7 +63,9 @@ public class PacketHandler { serverInfo.version().name(ProtocolConstant.PROTOCOL_NAME); serverInfo.version().protocol(ProtocolConstant.PROTOCOL_NUMBER); serverInfo.players().max(config.players().maxOnlile()); - serverInfo.players().online(config.players().onlile()); + if (config.players().fakeOnline().enable()) { + serverInfo.players().online(config.players().fakeOnline().value()); + } serverInfo.players().sample(Collections.emptyList()); serverInfo.description(TextSerializer.fromPlain(config.motd())); diff --git a/server/src/main/java/mc/server/config/Config.java b/server/src/main/java/mc/server/config/Config.java index 5d99eb4..3c5f3d2 100644 --- a/server/src/main/java/mc/server/config/Config.java +++ b/server/src/main/java/mc/server/config/Config.java @@ -33,8 +33,17 @@ public class Config { @Setter @ToString public static class Players { + private final FakeOnline fakeOnline = new FakeOnline(); + private int maxOnlile; - private int onlile; + } + + @Getter + @Setter + @ToString + public static class FakeOnline { + private boolean enable; + private int value; } @Getter diff --git a/server/src/main/java/mc/server/di/ConfigModule.java b/server/src/main/java/mc/server/di/ConfigModule.java index 12bb65f..76635e8 100644 --- a/server/src/main/java/mc/server/di/ConfigModule.java +++ b/server/src/main/java/mc/server/di/ConfigModule.java @@ -27,10 +27,14 @@ public class ConfigModule { config.server().host(fromYamlPath("server/host", map, "127.0.0.1")); config.server().port(fromYamlPath("server/port", map, 25565)); + config.motd(fromYamlPath("motd", map, "")); config.disconnectReason(fromYamlPath("disconnect-reason", map, "")); + config.players().maxOnlile(fromYamlPath("players/max-online", map, 0)); - config.players().onlile(fromYamlPath("players/online", map, 0)); + config.players().fakeOnline().enable(fromYamlPath("players/fake-online/enable", map, false)); + config.players().fakeOnline().value(fromYamlPath("players/fake-online/value", map, 0)); + config.world().viewDistance(fromYamlPath("world/view-distance", map, 0)); if (Boolean.TRUE.equals(fromYamlPath("icon/enable", map, false))) { diff --git a/server/src/main/resources/config-sample.yml b/server/src/main/resources/config-sample.yml index d96b359..bfb8600 100644 --- a/server/src/main/resources/config-sample.yml +++ b/server/src/main/resources/config-sample.yml @@ -10,7 +10,9 @@ disconnect-reason: '&4Server is not available.' players: max-online: 0 - online: 0 + fake-online: + enable: true + value: 0 # Размер значка: 64x64 px icon: