diff --git a/pom.xml b/pom.xml index 51d1506..79a99d6 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ ru.simsonic rscPermissions - 0.9.15b + 0.9.16b jar rscPermissions @@ -63,6 +63,14 @@ 1.8-R0.1-SNAPSHOT provided + + + org.spongepowered + spongeapi + 2.0 + provided + + ru.simsonic rscUtilityLibrary @@ -103,13 +111,6 @@ 3.0-SNAPSHOT provided - - - org.spongepowered - spongeapi - 2.0 - provided - diff --git a/src/main/java/ru/simsonic/rscPermissions/API/Destination.java b/src/main/java/ru/simsonic/rscPermissions/API/Destination.java index e94a971..87177f0 100644 --- a/src/main/java/ru/simsonic/rscPermissions/API/Destination.java +++ b/src/main/java/ru/simsonic/rscPermissions/API/Destination.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.API; + import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/src/main/java/ru/simsonic/rscPermissions/API/PlayerType.java b/src/main/java/ru/simsonic/rscPermissions/API/PlayerType.java index 1498594..316d97a 100644 --- a/src/main/java/ru/simsonic/rscPermissions/API/PlayerType.java +++ b/src/main/java/ru/simsonic/rscPermissions/API/PlayerType.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.API; + import ru.simsonic.rscPermissions.Engine.Matchers; public enum PlayerType diff --git a/src/main/java/ru/simsonic/rscPermissions/API/RowEntity.java b/src/main/java/ru/simsonic/rscPermissions/API/RowEntity.java index 1731a96..441f3f2 100644 --- a/src/main/java/ru/simsonic/rscPermissions/API/RowEntity.java +++ b/src/main/java/ru/simsonic/rscPermissions/API/RowEntity.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.API; + import java.sql.Timestamp; public class RowEntity implements Cloneable diff --git a/src/main/java/ru/simsonic/rscPermissions/API/RowInheritance.java b/src/main/java/ru/simsonic/rscPermissions/API/RowInheritance.java index 37ff9fb..8f6b7d3 100644 --- a/src/main/java/ru/simsonic/rscPermissions/API/RowInheritance.java +++ b/src/main/java/ru/simsonic/rscPermissions/API/RowInheritance.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.API; + import java.sql.Timestamp; import java.util.Arrays; import ru.simsonic.rscUtilityLibrary.TextProcessing.GenericChatCodes; diff --git a/src/main/java/ru/simsonic/rscPermissions/API/RowPermission.java b/src/main/java/ru/simsonic/rscPermissions/API/RowPermission.java index bb0dcac..8cc14dd 100644 --- a/src/main/java/ru/simsonic/rscPermissions/API/RowPermission.java +++ b/src/main/java/ru/simsonic/rscPermissions/API/RowPermission.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.API; + import java.sql.Timestamp; public class RowPermission implements Cloneable diff --git a/src/main/java/ru/simsonic/rscPermissions/API/Settings.java b/src/main/java/ru/simsonic/rscPermissions/API/Settings.java index 14fa0d8..0e565af 100644 --- a/src/main/java/ru/simsonic/rscPermissions/API/Settings.java +++ b/src/main/java/ru/simsonic/rscPermissions/API/Settings.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.API; + import java.util.Map; import ru.simsonic.rscUtilityLibrary.ConnectionMySQL.ConnectionParams; diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitDatabaseFetcher.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitDatabaseFetcher.java index c0e562a..6003f06 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitDatabaseFetcher.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitDatabaseFetcher.java @@ -1,9 +1,10 @@ package ru.simsonic.rscPermissions.Bukkit; + import java.util.Set; import java.util.logging.Level; import org.bukkit.command.CommandSender; import ru.simsonic.rscPermissions.API.Settings; -import ru.simsonic.rscPermissions.Backends.DatabaseContents; +import ru.simsonic.rscPermissions.Engine.Backends.DatabaseContents; import ru.simsonic.rscPermissions.BukkitPluginMain; import ru.simsonic.rscUtilityLibrary.RestartableThread; import ru.simsonic.rscUtilityLibrary.TextProcessing.GenericChatCodes; diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitEventListener.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitEventListener.java index 12a321d..199806a 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitEventListener.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitEventListener.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.Bukkit; + import java.util.ArrayList; import java.util.Collections; import java.util.Map; diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java index a214804..641ab60 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.Bukkit; + import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java index 23ba9b9..42a9eec 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.Bukkit; + import java.io.File; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java index 2f66e0d..c900f56 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java @@ -1,9 +1,9 @@ package ru.simsonic.rscPermissions.Bukkit; + import com.sk89q.worldguard.bukkit.WorldGuardPlugin; import com.sk89q.worldguard.protection.ApplicableRegionSet; import com.sk89q.worldguard.protection.managers.RegionManager; import com.sk89q.worldguard.protection.regions.ProtectedRegion; -import java.io.Serializable; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/RegionUpdateObserver.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/RegionUpdateObserver.java index 17d8266..a401bfb 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/RegionUpdateObserver.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/RegionUpdateObserver.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions.Bukkit; + import org.bukkit.entity.Player; import ru.simsonic.rscPermissions.BukkitPluginMain; import ru.simsonic.rscUtilityLibrary.Bukkit.Listeners.MovingPlayersCatcher; diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/WorldEditPermissions.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/WorldEditPermissions.java index dbf11fd..f7cf304 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/WorldEditPermissions.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/WorldEditPermissions.java @@ -11,7 +11,6 @@ import org.bukkit.Server; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.entity.Player; import org.bukkit.generator.ChunkGenerator; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; diff --git a/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java b/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java index e2c33e4..33d5a99 100644 --- a/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java +++ b/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions; + import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; @@ -10,9 +11,9 @@ import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scheduler.BukkitScheduler; import org.mcstats.MetricsLite; import ru.simsonic.rscPermissions.API.Settings; -import ru.simsonic.rscPermissions.Backends.BackendDatabase; -import ru.simsonic.rscPermissions.Backends.BackendJson; -import ru.simsonic.rscPermissions.Backends.DatabaseContents; +import ru.simsonic.rscPermissions.Engine.Backends.BackendDatabase; +import ru.simsonic.rscPermissions.Engine.Backends.BackendJson; +import ru.simsonic.rscPermissions.Engine.Backends.DatabaseContents; import ru.simsonic.rscPermissions.Bukkit.BukkitEventListener; import ru.simsonic.rscPermissions.Bukkit.BukkitPermissionManager; import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration; @@ -27,7 +28,7 @@ import ru.simsonic.rscUtilityLibrary.TextProcessing.GenericChatCodes; public final class BukkitPluginMain extends JavaPlugin { public static final Logger consoleLog = Bukkit.getLogger(); - public final BukkitPluginConfiguration settings = new BukkitPluginConfiguration(this); + public final Settings settings = new BukkitPluginConfiguration(this); public final BridgeForBukkitAPI bridgeForBukkit = new BridgeForBukkitAPI(this); public final BukkitEventListener bukkitListener = new BukkitEventListener(this); public final BackendJson localStorage = new BackendJson(getDataFolder()); diff --git a/src/main/java/ru/simsonic/rscPermissions/Backends/BackendDatabase.java b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java similarity index 96% rename from src/main/java/ru/simsonic/rscPermissions/Backends/BackendDatabase.java rename to src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java index 60f377c..2cd7f1a 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Backends/BackendDatabase.java +++ b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java @@ -1,4 +1,5 @@ -package ru.simsonic.rscPermissions.Backends; +package ru.simsonic.rscPermissions.Engine.Backends; + import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; diff --git a/src/main/java/ru/simsonic/rscPermissions/Backends/BackendJson.java b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendJson.java similarity index 95% rename from src/main/java/ru/simsonic/rscPermissions/Backends/BackendJson.java rename to src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendJson.java index 37d74c2..5274be7 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Backends/BackendJson.java +++ b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendJson.java @@ -1,4 +1,5 @@ -package ru.simsonic.rscPermissions.Backends; +package ru.simsonic.rscPermissions.Engine.Backends; + import com.google.gson.Gson; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; diff --git a/src/main/java/ru/simsonic/rscPermissions/Backends/DatabaseContents.java b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseContents.java similarity index 96% rename from src/main/java/ru/simsonic/rscPermissions/Backends/DatabaseContents.java rename to src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseContents.java index 8e0a2c1..80f1f42 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Backends/DatabaseContents.java +++ b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseContents.java @@ -1,4 +1,5 @@ -package ru.simsonic.rscPermissions.Backends; +package ru.simsonic.rscPermissions.Engine.Backends; + import java.util.ArrayList; import java.util.Date; import ru.simsonic.rscPermissions.API.Destination; diff --git a/src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java b/src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java index bd412d8..124f188 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java +++ b/src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java @@ -15,7 +15,7 @@ import ru.simsonic.rscPermissions.API.RowEntity; import ru.simsonic.rscPermissions.API.RowInheritance; import ru.simsonic.rscPermissions.API.RowPermission; import ru.simsonic.rscPermissions.API.Settings; -import ru.simsonic.rscPermissions.Backends.DatabaseContents; +import ru.simsonic.rscPermissions.Engine.Backends.DatabaseContents; import ru.simsonic.rscUtilityLibrary.TextProcessing.GenericChatCodes; public class InternalCache diff --git a/src/main/java/ru/simsonic/rscPermissions/IndependentMain.java b/src/main/java/ru/simsonic/rscPermissions/IndependentMain.java index af4c0dd..98a51c1 100644 --- a/src/main/java/ru/simsonic/rscPermissions/IndependentMain.java +++ b/src/main/java/ru/simsonic/rscPermissions/IndependentMain.java @@ -3,9 +3,9 @@ import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.logging.Logger; -import ru.simsonic.rscPermissions.Backends.BackendDatabase; -import ru.simsonic.rscPermissions.Backends.BackendJson; -import ru.simsonic.rscPermissions.Backends.DatabaseContents; +import ru.simsonic.rscPermissions.Engine.Backends.BackendDatabase; +import ru.simsonic.rscPermissions.Engine.Backends.BackendJson; +import ru.simsonic.rscPermissions.Engine.Backends.DatabaseContents; import ru.simsonic.rscPermissions.Engine.InternalCache; import ru.simsonic.rscPermissions.Engine.ResolutionResult; diff --git a/src/main/java/ru/simsonic/rscPermissions/Sponge/Commands/SpongeCommands.java b/src/main/java/ru/simsonic/rscPermissions/Sponge/Commands/SpongeCommands.java new file mode 100644 index 0000000..d7ef53c --- /dev/null +++ b/src/main/java/ru/simsonic/rscPermissions/Sponge/Commands/SpongeCommands.java @@ -0,0 +1,28 @@ +package ru.simsonic.rscPermissions.Sponge.Commands; + +import org.spongepowered.api.text.Texts; +import org.spongepowered.api.util.command.CommandException; +import org.spongepowered.api.util.command.CommandResult; +import org.spongepowered.api.util.command.CommandSource; +import org.spongepowered.api.util.command.args.CommandContext; +import org.spongepowered.api.util.command.spec.CommandExecutor; +import org.spongepowered.api.util.command.spec.CommandSpec; + +public class SpongeCommands implements CommandExecutor +{ + private final CommandSpec commandHub = CommandSpec.builder() + .setDescription(Texts.of("Hello World Command")) + .setPermission("myplugin.command.helloworld") + .setExecutor(this) + .build(); + public SpongeCommands() + { + // game.getCommandDispatcher().register(plugin, commandHub, "helloworld", "hello", "test"); + } + @Override + public CommandResult execute(CommandSource src, CommandContext context) throws CommandException + { + src.sendMessage(Texts.of("Hello rscp's World!")); + return CommandResult.success(); + } +} diff --git a/src/main/java/ru/simsonic/rscPermissions/Sponge/SpongeEventListener.java b/src/main/java/ru/simsonic/rscPermissions/Sponge/SpongeEventListener.java new file mode 100644 index 0000000..8d1daae --- /dev/null +++ b/src/main/java/ru/simsonic/rscPermissions/Sponge/SpongeEventListener.java @@ -0,0 +1,6 @@ +package ru.simsonic.rscPermissions.Sponge; + +public class SpongeEventListener +{ + +} diff --git a/src/main/java/ru/simsonic/rscPermissions/Sponge/SpongePermissionManager.java b/src/main/java/ru/simsonic/rscPermissions/Sponge/SpongePermissionManager.java new file mode 100644 index 0000000..bd6753d --- /dev/null +++ b/src/main/java/ru/simsonic/rscPermissions/Sponge/SpongePermissionManager.java @@ -0,0 +1,50 @@ +package ru.simsonic.rscPermissions.Sponge; + +import java.util.Map; +import org.slf4j.Logger; +import org.spongepowered.api.service.permission.PermissionService; +import org.spongepowered.api.service.permission.SubjectCollection; +import org.spongepowered.api.service.permission.SubjectData; +import org.spongepowered.api.service.permission.context.ContextCalculator; +import ru.simsonic.rscPermissions.SpongePluginMain; + +public class SpongePermissionManager implements PermissionService +{ + private final SpongePluginMain rscp; + private final Logger logger; + public SpongePermissionManager(SpongePluginMain plugin) + { + this.rscp = plugin; + this.logger = rscp.getLogger(); + } + @Override + public SubjectCollection getUserSubjects() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public SubjectCollection getGroupSubjects() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public SubjectData getDefaultData() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public SubjectCollection getSubjects(String identifier) + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public Map getKnownSubjects() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public void registerContextCalculator(ContextCalculator calculator) + { + throw new UnsupportedOperationException("Not supported yet."); + } +} diff --git a/src/main/java/ru/simsonic/rscPermissions/Sponge/SpongePluginConfiguration.java b/src/main/java/ru/simsonic/rscPermissions/Sponge/SpongePluginConfiguration.java new file mode 100644 index 0000000..b43dd97 --- /dev/null +++ b/src/main/java/ru/simsonic/rscPermissions/Sponge/SpongePluginConfiguration.java @@ -0,0 +1,96 @@ +package ru.simsonic.rscPermissions.Sponge; + +import java.util.Map; +import ru.simsonic.rscPermissions.API.Settings; +import ru.simsonic.rscPermissions.API.TranslationProvider; +import ru.simsonic.rscPermissions.SpongePluginMain; +import ru.simsonic.rscUtilityLibrary.ConnectionMySQL.ConnectionParams; + +public class SpongePluginConfiguration implements Settings +{ + private final SpongePluginMain rscp; + public SpongePluginConfiguration(SpongePluginMain plugin) + { + this.rscp = plugin; + } + @Override + public void onLoad() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public void readSettings() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public String getDefaultGroup() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public boolean isDefaultForever() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public boolean isAsteriskOP() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public boolean isInMaintenance() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public String getMaintenanceMode() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public void setMaintenanceMode(String mode) + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public boolean isUseResidence() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public boolean isUseWorldGuard() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public long getRegionFinderGranularity() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public int getAutoReloadDelayTicks() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public boolean isUseMetrics() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public Map getSlotLimits() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public TranslationProvider getTranslationProvider() + { + throw new UnsupportedOperationException("Not supported yet."); + } + @Override + public ConnectionParams getConnectionParams() + { + throw new UnsupportedOperationException("Not supported yet."); + } +} diff --git a/src/main/java/ru/simsonic/rscPermissions/SpongePluginMain.java b/src/main/java/ru/simsonic/rscPermissions/SpongePluginMain.java index 143bfe6..7862c2a 100644 --- a/src/main/java/ru/simsonic/rscPermissions/SpongePluginMain.java +++ b/src/main/java/ru/simsonic/rscPermissions/SpongePluginMain.java @@ -1,27 +1,69 @@ package ru.simsonic.rscPermissions; + +import com.google.inject.Inject; +import java.io.File; +import org.slf4j.Logger; +import org.spongepowered.api.Game; +import org.spongepowered.api.event.Subscribe; import org.spongepowered.api.event.state.ServerAboutToStartEvent; import org.spongepowered.api.event.state.ServerStartedEvent; import org.spongepowered.api.event.state.ServerStartingEvent; import org.spongepowered.api.event.state.ServerStoppedEvent; import org.spongepowered.api.event.state.ServerStoppingEvent; import org.spongepowered.api.plugin.Plugin; +import ru.simsonic.rscPermissions.API.Settings; +import ru.simsonic.rscPermissions.Engine.Backends.BackendDatabase; +import ru.simsonic.rscPermissions.Engine.Backends.BackendJson; +import ru.simsonic.rscPermissions.Engine.InternalCache; +import ru.simsonic.rscPermissions.Sponge.SpongePermissionManager; +import ru.simsonic.rscPermissions.Sponge.SpongePluginConfiguration; + +// Documentation for Sponge: https://docs.spongepowered.org/en/index.html -@Plugin(id = "rscPermissions", name = "rscPermissions", version = "0.9b") +@Plugin(id = "rscPermissions", name = "rscPermissions", version = "0.9.16b") public class SpongePluginMain { + private final Logger logger; + private final Settings settings = new SpongePluginConfiguration(this); + private final SpongePermissionManager permissionManager = new SpongePermissionManager(this); + public final BackendJson localStorage = new BackendJson(new File("")); + public final BackendDatabase connection = new BackendDatabase(null); + public final InternalCache internalCache = new InternalCache(); + @Inject + private Game game; + @Inject + public SpongePluginMain(Logger logger) + { + this.logger = logger; + logger.info("API VERSION IS " + game.getApiVersion()); + } + public Logger getLogger() + { + return logger; + } + @Subscribe public void onServerStart(ServerAboutToStartEvent event) { + logger.info("onServerStart"); } + @Subscribe public void onServerStarting(ServerStartingEvent event) { + logger.info("onServerStarting"); } + @Subscribe public void onServerStarted(ServerStartedEvent event) { + logger.info("onServerStarted"); } + @Subscribe public void onServerStopping(ServerStoppingEvent event) { + logger.info("onServerStopping"); } + @Subscribe public void onServerStopped(ServerStoppedEvent event) { + logger.info("onServerStopped"); } }