aboutsummaryrefslogtreecommitdiff
path: root/spark-forge/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'spark-forge/src/main')
-rw-r--r--spark-forge/src/main/java/me/lucko/spark/forge/ForgeCommandSender.java6
-rw-r--r--spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java12
-rw-r--r--spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeClientSparkPlugin.java8
-rw-r--r--spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java26
-rw-r--r--spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeSparkPlugin.java4
5 files changed, 28 insertions, 28 deletions
diff --git a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeCommandSender.java b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeCommandSender.java
index 4ef5087..4aad23a 100644
--- a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeCommandSender.java
+++ b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeCommandSender.java
@@ -27,6 +27,8 @@ import net.kyori.text.serializer.gson.GsonComponentSerializer;
import net.minecraft.command.ICommandSource;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.rcon.IServer;
+import net.minecraft.util.Util;
+import net.minecraft.util.text.IFormattableTextComponent;
import net.minecraft.util.text.ITextComponent;
import java.util.UUID;
@@ -60,8 +62,8 @@ public class ForgeCommandSender extends AbstractCommandSender<ICommandSource> {
@Override
public void sendMessage(Component message) {
- ITextComponent component = ITextComponent.Serializer.fromJson(GsonComponentSerializer.INSTANCE.serialize(message));
- super.delegate.sendMessage(component);
+ IFormattableTextComponent component = ITextComponent.Serializer.func_240643_a_(GsonComponentSerializer.INSTANCE.serialize(message));
+ super.delegate.sendMessage(component, Util.DUMMY_UUID);
}
@Override
diff --git a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java
index a1c7d55..b6d166b 100644
--- a/spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java
+++ b/spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java
@@ -30,7 +30,6 @@ import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.loading.FMLPaths;
import net.minecraftforge.fml.network.FMLNetworkConstants;
@@ -43,10 +42,12 @@ public class ForgeSparkMod {
private ModContainer container;
private Path configDirectory;
+ public static ForgeSparkMod mod = null;
public ForgeSparkMod() {
+ mod = this;
FMLJavaModLoadingContext.get().getModEventBus().register(this);
- MinecraftForge.EVENT_BUS.register(this);
+ MinecraftForge.EVENT_BUS.register(ForgeServerSparkPlugin.class);
ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.DISPLAYTEST, () -> Pair.of(() -> FMLNetworkConstants.IGNORESERVERONLY, (a, b) -> true));
}
@@ -62,12 +63,7 @@ public class ForgeSparkMod {
@SubscribeEvent
public void clientInit(FMLClientSetupEvent e) {
- ForgeClientSparkPlugin.register(this, e);
- }
-
- @SubscribeEvent
- public void serverInit(FMLServerStartingEvent e) {
- ForgeServerSparkPlugin.register(this, e);
+ ForgeClientSparkPlugin.register(e);
}
public Path getConfigDirectory() {
diff --git a/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeClientSparkPlugin.java b/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeClientSparkPlugin.java
index 66fd3ab..83c448a 100644
--- a/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeClientSparkPlugin.java
+++ b/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeClientSparkPlugin.java
@@ -53,10 +53,10 @@ import java.util.stream.Stream;
public class ForgeClientSparkPlugin extends ForgeSparkPlugin implements SuggestionProvider<ISuggestionProvider> {
- public static void register(ForgeSparkMod mod, FMLClientSetupEvent event) {
+ public static void register(FMLClientSetupEvent event) {
Minecraft minecraft = event.getMinecraftSupplier().get();
- ForgeClientSparkPlugin plugin = new ForgeClientSparkPlugin(mod, minecraft);
+ ForgeClientSparkPlugin plugin = new ForgeClientSparkPlugin(minecraft);
MinecraftForge.EVENT_BUS.register(plugin);
plugin.scheduler.scheduleWithFixedDelay(plugin::checkCommandRegistered, 10, 10, TimeUnit.SECONDS);
@@ -65,8 +65,8 @@ public class ForgeClientSparkPlugin extends ForgeSparkPlugin implements Suggesti
private final Minecraft minecraft;
private CommandDispatcher<ISuggestionProvider> dispatcher;
- public ForgeClientSparkPlugin(ForgeSparkMod mod, Minecraft minecraft) {
- super(mod);
+ public ForgeClientSparkPlugin(Minecraft minecraft) {
+ super();
this.minecraft = minecraft;
}
diff --git a/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java b/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java
index 3978ba4..b7285b4 100644
--- a/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java
+++ b/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java
@@ -32,7 +32,6 @@ import me.lucko.spark.common.sampler.tick.TickHook;
import me.lucko.spark.common.sampler.tick.TickReporter;
import me.lucko.spark.forge.ForgeCommandSender;
import me.lucko.spark.forge.ForgePlatformInfo;
-import me.lucko.spark.forge.ForgeSparkMod;
import me.lucko.spark.forge.ForgeTickHook;
import me.lucko.spark.forge.ForgeTickReporter;
import net.minecraft.command.CommandSource;
@@ -40,30 +39,33 @@ import net.minecraft.command.ICommandSource;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.server.MinecraftServer;
+import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.event.TickEvent;
-import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
+import net.minecraftforge.eventbus.api.SubscribeEvent;
+import net.minecraftforge.fml.server.ServerLifecycleHooks;
import net.minecraftforge.server.permission.DefaultPermissionLevel;
import net.minecraftforge.server.permission.PermissionAPI;
import java.util.Arrays;
import java.util.concurrent.CompletableFuture;
+import java.util.function.Supplier;
import java.util.stream.Stream;
public class ForgeServerSparkPlugin extends ForgeSparkPlugin implements Command<CommandSource>, SuggestionProvider<CommandSource> {
- public static void register(ForgeSparkMod mod, FMLServerStartingEvent event) {
- MinecraftServer server = event.getServer();
- ForgeServerSparkPlugin plugin = new ForgeServerSparkPlugin(mod, server);
-
- CommandDispatcher<CommandSource> dispatcher = event.getCommandDispatcher();
+ @SubscribeEvent
+ public static void register(RegisterCommandsEvent event) {
+ ForgeServerSparkPlugin plugin = new ForgeServerSparkPlugin(ServerLifecycleHooks::getCurrentServer);
+ CommandDispatcher<CommandSource> dispatcher = event.getDispatcher();
registerCommands(dispatcher, plugin, plugin, "spark");
PermissionAPI.registerNode("spark", DefaultPermissionLevel.OP, "Access to the spark command");
}
- private final MinecraftServer server;
- public ForgeServerSparkPlugin(ForgeSparkMod mod, MinecraftServer server) {
- super(mod);
+ private final Supplier<MinecraftServer> server;
+
+ public ForgeServerSparkPlugin(Supplier<MinecraftServer> server) {
+ super();
this.server = server;
}
@@ -113,8 +115,8 @@ public class ForgeServerSparkPlugin extends ForgeSparkPlugin implements Command<
@Override
public Stream<ForgeCommandSender> getSendersWithPermission(String permission) {
return Stream.concat(
- this.server.getPlayerList().getPlayers().stream().filter(player -> hasPermission(player, permission)),
- Stream.of(this.server)
+ this.server.get().getPlayerList().getPlayers().stream().filter(player -> hasPermission(player, permission)),
+ Stream.of(this.server.get())
).map(sender -> new ForgeCommandSender(sender, this));
}
diff --git a/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeSparkPlugin.java b/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeSparkPlugin.java
index 920ca24..d7ef386 100644
--- a/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeSparkPlugin.java
+++ b/spark-forge/src/main/java/me/lucko/spark/forge/plugin/ForgeSparkPlugin.java
@@ -63,8 +63,8 @@ public abstract class ForgeSparkPlugin implements SparkPlugin {
protected final ScheduledExecutorService scheduler;
protected final SparkPlatform platform;
- protected ForgeSparkPlugin(ForgeSparkMod mod) {
- this.mod = mod;
+ protected ForgeSparkPlugin() {
+ this.mod = ForgeSparkMod.mod;
this.scheduler = Executors.newSingleThreadScheduledExecutor(
new ThreadFactoryBuilder().setNameFormat("spark-forge-async-worker").build()
);