From ae8befc0fd6086080ef6ae06d23f3156782d6c8a Mon Sep 17 00:00:00 2001 From: kuroppoi <68156848+kuroppoi@users.noreply.github.com> Date: Mon, 19 Apr 2021 18:33:31 +0200 Subject: [PATCH] Registered commands now get added the to game config --- .../main/java/brainwine/gameserver/GameConfiguration.java | 8 ++++++++ .../src/main/java/brainwine/gameserver/GameServer.java | 2 +- .../java/brainwine/gameserver/command/CommandManager.java | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gameserver/src/main/java/brainwine/gameserver/GameConfiguration.java b/gameserver/src/main/java/brainwine/gameserver/GameConfiguration.java index f548432..1da22a5 100644 --- a/gameserver/src/main/java/brainwine/gameserver/GameConfiguration.java +++ b/gameserver/src/main/java/brainwine/gameserver/GameConfiguration.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.databind.InjectableValues; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import brainwine.gameserver.command.CommandManager; import brainwine.gameserver.item.Item; import brainwine.gameserver.item.ItemRegistry; import brainwine.gameserver.server.messages.ConfigurationMessage; @@ -84,6 +85,13 @@ public class GameConfiguration { Map shop = getConfiguration("shop"); shop.put("currency", new HashMap<>()); // Client wants this. + // Add custom registered commands to the client config. + Map commands = getConfiguration("commands"); + + for(String command : CommandManager.getCommandNames()) { + commands.put(command, true); + } + try { configureItems(); } catch (IOException e) { diff --git a/gameserver/src/main/java/brainwine/gameserver/GameServer.java b/gameserver/src/main/java/brainwine/gameserver/GameServer.java index a99d67f..1485b78 100644 --- a/gameserver/src/main/java/brainwine/gameserver/GameServer.java +++ b/gameserver/src/main/java/brainwine/gameserver/GameServer.java @@ -32,11 +32,11 @@ public class GameServer implements CommandExecutor { handlerThread = Thread.currentThread(); long startTime = System.currentTimeMillis(); logger.info("Starting GameServer ..."); + CommandManager.init(); GameConfiguration.init(); MessagePackHelper.init(); zoneManager = new ZoneManager(); playerManager = new PlayerManager(); - CommandManager.init(); NetworkRegistry.init(); server = new Server(); server.addEndpoint(5002); diff --git a/gameserver/src/main/java/brainwine/gameserver/command/CommandManager.java b/gameserver/src/main/java/brainwine/gameserver/command/CommandManager.java index 2dd4a86..da87368 100644 --- a/gameserver/src/main/java/brainwine/gameserver/command/CommandManager.java +++ b/gameserver/src/main/java/brainwine/gameserver/command/CommandManager.java @@ -2,6 +2,7 @@ package brainwine.gameserver.command; import java.util.HashMap; import java.util.Map; +import java.util.Set; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -85,4 +86,8 @@ public class CommandManager { commands.put(name, command); } + + public static Set getCommandNames() { + return commands.keySet(); + } }