diff options
author | Luck <git@lucko.me> | 2018-12-31 18:15:39 +0000 |
---|---|---|
committer | Luck <git@lucko.me> | 2018-12-31 18:15:39 +0000 |
commit | 9bed6177ddf94f67aaad5ee2504721cf0b957a94 (patch) | |
tree | a830407555e458bc02f220b09b4b40386321eb9c /spark-sponge/src/main/java/me | |
parent | 66a8afab99efb7ac7669961eb2e67e2244d494e5 (diff) | |
download | spark-9bed6177ddf94f67aaad5ee2504721cf0b957a94.tar.gz spark-9bed6177ddf94f67aaad5ee2504721cf0b957a94.tar.bz2 spark-9bed6177ddf94f67aaad5ee2504721cf0b957a94.zip |
Add '/spark heapdump' command
Diffstat (limited to 'spark-sponge/src/main/java/me')
-rw-r--r-- | spark-sponge/src/main/java/me/lucko/spark/sponge/SparkSpongePlugin.java | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/spark-sponge/src/main/java/me/lucko/spark/sponge/SparkSpongePlugin.java b/spark-sponge/src/main/java/me/lucko/spark/sponge/SparkSpongePlugin.java index 01052cb..2abaf3f 100644 --- a/spark-sponge/src/main/java/me/lucko/spark/sponge/SparkSpongePlugin.java +++ b/spark-sponge/src/main/java/me/lucko/spark/sponge/SparkSpongePlugin.java @@ -27,10 +27,10 @@ import me.lucko.spark.sampler.ThreadDumper; import me.lucko.spark.sampler.TickCounter; import org.spongepowered.api.Game; -import org.spongepowered.api.Sponge; import org.spongepowered.api.command.CommandCallable; import org.spongepowered.api.command.CommandResult; import org.spongepowered.api.command.CommandSource; +import org.spongepowered.api.config.ConfigDir; import org.spongepowered.api.entity.living.player.Player; import org.spongepowered.api.event.Listener; import org.spongepowered.api.event.game.state.GameStartedServerEvent; @@ -47,6 +47,7 @@ import org.spongepowered.api.world.World; import java.net.MalformedURLException; import java.net.URL; +import java.nio.file.Path; import java.util.Collections; import java.util.List; import java.util.Optional; @@ -66,14 +67,18 @@ import javax.annotation.Nullable; ) public class SparkSpongePlugin implements CommandCallable { + private final Game game; + private final Path configDirectory; + private final SpongeExecutorService asyncExecutor; + private final SparkPlatform<CommandSource> sparkPlatform = new SparkPlatform<CommandSource>() { private Text colorize(String message) { return TextSerializers.FORMATTING_CODE.deserialize(message); } private void broadcast(Text msg) { - Sponge.getServer().getConsole().sendMessage(msg); - for (Player player : Sponge.getServer().getOnlinePlayers()) { + SparkSpongePlugin.this.game.getServer().getConsole().sendMessage(msg); + for (Player player : SparkSpongePlugin.this.game.getServer().getOnlinePlayers()) { if (player.hasPermission("spark")) { player.sendMessage(msg); } @@ -86,6 +91,11 @@ public class SparkSpongePlugin implements CommandCallable { } @Override + public Path getPluginFolder() { + return SparkSpongePlugin.this.configDirectory; + } + + @Override public String getLabel() { return "spark"; } @@ -131,11 +141,11 @@ public class SparkSpongePlugin implements CommandCallable { }; @Inject - @AsynchronousExecutor - private SpongeExecutorService asyncExecutor; - - @Inject - private Game game; + public SparkSpongePlugin(Game game, @ConfigDir(sharedRoot = false) Path configDirectory, @AsynchronousExecutor SpongeExecutorService asyncExecutor) { + this.game = game; + this.configDirectory = configDirectory; + this.asyncExecutor = asyncExecutor; + } @Listener public void onServerStart(GameStartedServerEvent event) { |