Oops was registering channels to wrong environments
This commit is contained in:
@@ -15,7 +15,7 @@ public class LodCommonMain {
|
||||
public static LodForgeMethodCaller forgeMethodCaller;
|
||||
public static NetworkInterface networkInterface;
|
||||
|
||||
public static void startup(LodForgeMethodCaller caller, boolean serverSided) {
|
||||
public static void startup(LodForgeMethodCaller caller, boolean serverSided, NetworkInterface networkInterface) {
|
||||
LodCommonMain.serverSided = serverSided;
|
||||
if (caller != null) {
|
||||
LodCommonMain.forge = true;
|
||||
@@ -23,15 +23,17 @@ public class LodCommonMain {
|
||||
}
|
||||
|
||||
DependencySetup.createInitialBindings();
|
||||
|
||||
LodCommonMain.networkInterface = networkInterface;
|
||||
if (!serverSided) {
|
||||
networkInterface.register_Client();
|
||||
} else {
|
||||
networkInterface.register_Server();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void initConfig() {
|
||||
ConfigGui.init(Config.class);
|
||||
}
|
||||
|
||||
public static void registerNetworking(NetworkInterface networkInterface) {
|
||||
LodCommonMain.networkInterface = networkInterface;
|
||||
networkInterface.register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,9 @@ package com.seibel.lod.common.networking;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.multiplayer.ClientPacketListener;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.server.network.ServerGamePacketListenerImpl;
|
||||
|
||||
/**
|
||||
* This is packet handler for our mod
|
||||
@@ -18,4 +21,10 @@ public class NetworkHandler {
|
||||
// You can make client execute something by using client.execute(Runnable)
|
||||
// In the fabric docs it says that client.execute is ran on the render thread?
|
||||
}
|
||||
|
||||
// If you need the response sender then tell me
|
||||
// I'll add extra code to get the response sender
|
||||
public static void receivePacketServer(MinecraftServer server, ServerPlayer client, ServerGamePacketListenerImpl handler, FriendlyByteBuf buf) {
|
||||
// TODO: Server sided stuff here
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,5 +4,6 @@ package com.seibel.lod.common.networking;
|
||||
* @author Ran
|
||||
*/
|
||||
public interface NetworkInterface {
|
||||
void register();
|
||||
void register_Client();
|
||||
void register_Server();
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ public class Main implements ClientModInitializer
|
||||
// This loads the mod after minecraft loads which doesn't causes a lot of issues
|
||||
public static void init() {
|
||||
LodCommonMain.initConfig();
|
||||
LodCommonMain.startup(null, false);
|
||||
LodCommonMain.startup(null, false, new NetworkHandler());
|
||||
DependencySetup.createInitialBindings();
|
||||
SingletonHandler.bind(IModChecker.class, ModChecker.INSTANCE);
|
||||
ClientApi.LOGGER.info(ModInfo.READABLE_NAME + ", Version: " + ModInfo.VERSION);
|
||||
@@ -85,9 +85,8 @@ public class Main implements ClientModInitializer
|
||||
|
||||
public static void initServer() {
|
||||
LodCommonMain.initConfig();
|
||||
LodCommonMain.startup(null, true);
|
||||
LodCommonMain.startup(null, true, new NetworkHandler());
|
||||
DependencySetup.createInitialBindings();
|
||||
LodCommonMain.registerNetworking(new NetworkHandler());
|
||||
ClientApi.LOGGER.info(ModInfo.READABLE_NAME + ", Version: " + ModInfo.VERSION);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,23 @@ package com.seibel.lod.fabric.networking;
|
||||
import com.seibel.lod.common.networking.NetworkInterface;
|
||||
import com.seibel.lod.common.networking.Networking;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
|
||||
/**
|
||||
* @author Ran
|
||||
*/
|
||||
public class NetworkHandler implements NetworkInterface {
|
||||
@Override
|
||||
public void register() {
|
||||
public void register_Client() {
|
||||
ClientPlayNetworking.registerGlobalReceiver(Networking.resourceLocation_meow, (client, handler, buf, responseSender) -> {
|
||||
com.seibel.lod.common.networking.NetworkHandler.receivePacketClient(client, handler, buf);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register_Server() {
|
||||
ServerPlayNetworking.registerGlobalReceiver(Networking.resourceLocation_meow, (server, player, handler, buf, responseSender) -> {
|
||||
com.seibel.lod.common.networking.NetworkHandler.receivePacketServer(server, player, handler, buf);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ public class ForgeMain implements LodForgeMethodCaller
|
||||
{
|
||||
// make sure the dependencies are set up before the mod needs them
|
||||
LodCommonMain.initConfig();
|
||||
LodCommonMain.startup(this, !FMLLoader.getDist().isClient());
|
||||
LodCommonMain.startup(this, !FMLLoader.getDist().isClient(), new NetworkHandler());
|
||||
ForgeDependencySetup.createInitialBindings();
|
||||
ClientApi.LOGGER.info("Distant Horizons initializing...");
|
||||
SingletonHandler.bind(IModChecker.class, ModChecker.INSTANCE);
|
||||
@@ -82,18 +82,12 @@ public class ForgeMain implements LodForgeMethodCaller
|
||||
ModAccessorApi.bind(IOptifineAccessor.class, new OptifineAccessor());
|
||||
}
|
||||
}
|
||||
|
||||
private void initServer(final FMLDedicatedServerSetupEvent event) {
|
||||
LodCommonMain.registerNetworking(new NetworkHandler());
|
||||
}
|
||||
|
||||
|
||||
public ForgeMain()
|
||||
{
|
||||
// Register the methods for server and other game events we are interested in
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::init);
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientStart);
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::initServer);
|
||||
}
|
||||
|
||||
private void onClientStart(final FMLClientSetupEvent event)
|
||||
|
||||
@@ -3,12 +3,23 @@ package com.seibel.lod.forge.networking;
|
||||
import com.seibel.lod.common.networking.NetworkInterface;
|
||||
import com.seibel.lod.common.networking.Networking;
|
||||
import com.seibel.lod.forge.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import com.seibel.lod.forge.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
|
||||
/**
|
||||
* @author Ran
|
||||
*/
|
||||
public class NetworkHandler implements NetworkInterface {
|
||||
@Override
|
||||
public void register() {
|
||||
public void register_Client() {
|
||||
ClientPlayNetworking.registerGlobalReceiver(Networking.resourceLocation_meow, (client, handler, buf, responseSender) -> {
|
||||
com.seibel.lod.common.networking.NetworkHandler.receivePacketClient(client, handler, buf);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register_Server() {
|
||||
ServerPlayNetworking.registerGlobalReceiver(Networking.resourceLocation_meow, (server, player, handler, buf, responseSender) -> {
|
||||
com.seibel.lod.common.networking.NetworkHandler.receivePacketServer(server, player, handler, buf);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user