aboutsummaryrefslogtreecommitdiff
path: root/spark-forge/src/main/java
diff options
context:
space:
mode:
authorLuck <git@lucko.me>2018-12-31 18:15:39 +0000
committerLuck <git@lucko.me>2018-12-31 18:15:39 +0000
commit9bed6177ddf94f67aaad5ee2504721cf0b957a94 (patch)
treea830407555e458bc02f220b09b4b40386321eb9c /spark-forge/src/main/java
parent66a8afab99efb7ac7669961eb2e67e2244d494e5 (diff)
downloadspark-9bed6177ddf94f67aaad5ee2504721cf0b957a94.tar.gz
spark-9bed6177ddf94f67aaad5ee2504721cf0b957a94.tar.bz2
spark-9bed6177ddf94f67aaad5ee2504721cf0b957a94.zip
Add '/spark heapdump' command
Diffstat (limited to 'spark-forge/src/main/java')
-rw-r--r--spark-forge/src/main/java/me/lucko/spark/forge/ForgeClientSparkPlatform.java8
-rw-r--r--spark-forge/src/main/java/me/lucko/spark/forge/ForgeServerSparkPlatform.java4
-rw-r--r--spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkPlatform.java12
-rw-r--r--spark-forge/src/main/java/me/lucko/spark/forge/SparkForgeMod.java20
4 files changed, 40 insertions, 4 deletions
diff --git a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeClientSparkPlatform.java b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeClientSparkPlatform.java
index b56dd70..c383636 100644
--- a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeClientSparkPlatform.java
+++ b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeClientSparkPlatform.java
@@ -34,8 +34,12 @@ import java.util.List;
public class ForgeClientSparkPlatform extends ForgeSparkPlatform {
- public static void register() {
- ClientCommandHandler.instance.registerCommand(new ForgeClientSparkPlatform());
+ public static void register(SparkForgeMod mod) {
+ ClientCommandHandler.instance.registerCommand(new ForgeClientSparkPlatform(mod));
+ }
+
+ public ForgeClientSparkPlatform(SparkForgeMod mod) {
+ super(mod);
}
@Override
diff --git a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeServerSparkPlatform.java b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeServerSparkPlatform.java
index d667234..a5c6c01 100644
--- a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeServerSparkPlatform.java
+++ b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeServerSparkPlatform.java
@@ -34,6 +34,10 @@ import java.util.List;
public class ForgeServerSparkPlatform extends ForgeSparkPlatform {
+ public ForgeServerSparkPlatform(SparkForgeMod mod) {
+ super(mod);
+ }
+
@Override
protected void broadcast(ITextComponent msg) {
FMLCommonHandler.instance().getMinecraftServerInstance().sendMessage(msg);
diff --git a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkPlatform.java b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkPlatform.java
index f5a2c9e..1f4c173 100644
--- a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkPlatform.java
+++ b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkPlatform.java
@@ -38,6 +38,7 @@ import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.event.ClickEvent;
import net.minecraftforge.fml.common.Mod;
+import java.nio.file.Path;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.ExecutorService;
@@ -48,15 +49,26 @@ import javax.annotation.Nullable;
@SuppressWarnings("NullableProblems")
public abstract class ForgeSparkPlatform extends SparkPlatform<ICommandSender> implements ICommand {
+ private final SparkForgeMod mod;
+
private final ExecutorService worker = Executors.newSingleThreadExecutor(
new ThreadFactoryBuilder().setNameFormat("spark-forge-async-worker").build()
);
+ protected ForgeSparkPlatform(SparkForgeMod mod) {
+ this.mod = mod;
+ }
+
@Override
public String getVersion() {
return SparkForgeMod.class.getAnnotation(Mod.class).version();
}
+ @Override
+ public Path getPluginFolder() {
+ return this.mod.getConfigDirectory();
+ }
+
@SuppressWarnings("deprecation")
protected ITextComponent colorize(String message) {
TextComponent component = ComponentSerializers.LEGACY.deserialize(message, '&');
diff --git a/spark-forge/src/main/java/me/lucko/spark/forge/SparkForgeMod.java b/spark-forge/src/main/java/me/lucko/spark/forge/SparkForgeMod.java
index 133ec09..aa4f379 100644
--- a/spark-forge/src/main/java/me/lucko/spark/forge/SparkForgeMod.java
+++ b/spark-forge/src/main/java/me/lucko/spark/forge/SparkForgeMod.java
@@ -24,9 +24,12 @@ import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
+import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.relauncher.Side;
+import java.nio.file.Path;
+
@Mod(
modid = "spark",
name = "spark",
@@ -35,16 +38,29 @@ import net.minecraftforge.fml.relauncher.Side;
)
public class SparkForgeMod {
+ private Path configDirectory = null;
+
+ @EventHandler
+ public void preInit(FMLPreInitializationEvent e) {
+ this.configDirectory = e.getModConfigurationDirectory().toPath();
+ }
+
@EventHandler
public void init(FMLInitializationEvent e) {
if (FMLCommonHandler.instance().getSide() == Side.CLIENT) {
- ForgeClientSparkPlatform.register();
+ ForgeClientSparkPlatform.register(this);
}
}
@EventHandler
public void serverInit(FMLServerStartingEvent e) {
- e.registerServerCommand(new ForgeServerSparkPlatform());
+ e.registerServerCommand(new ForgeServerSparkPlatform(this));
}
+ public Path getConfigDirectory() {
+ if (this.configDirectory == null) {
+ throw new IllegalStateException("Config directory not set");
+ }
+ return this.configDirectory;
+ }
}