Ported side proxy.

This commit is contained in:
2026-01-09 00:02:21 +01:00
parent aff7f9ae54
commit 681ebeeeb7
3 changed files with 37 additions and 32 deletions

View File

@ -3,10 +3,11 @@ package dev.micle.totemofreviving;
import dev.micle.totemofreviving.proxy.IProxy; import dev.micle.totemofreviving.proxy.IProxy;
import dev.micle.totemofreviving.proxy.Proxy; import dev.micle.totemofreviving.proxy.Proxy;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.fml.DistExecutor; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.fml.ModContainer; import net.neoforged.bus.api.IEventBus;
import net.minecraftforge.fml.ModList; import net.neoforged.fml.ModContainer;
import net.minecraftforge.fml.common.Mod; import net.neoforged.fml.common.Mod;
import net.neoforged.fml.loading.FMLEnvironment;
import java.util.Optional; import java.util.Optional;
@ -16,11 +17,10 @@ public final class TotemOfReviving {
private static IProxy proxy; private static IProxy proxy;
public TotemOfReviving() { public TotemOfReviving(IEventBus modEventBus) {
proxy = DistExecutor.safeRunForDist( proxy = FMLEnvironment.dist == Dist.CLIENT
() -> Proxy.Client::new, ? new Proxy.Client(modEventBus)
() -> Proxy.Server::new : new Proxy.Server(modEventBus);
);
} }
public static ResourceLocation createResourceLocation(String name) { public static ResourceLocation createResourceLocation(String name) {

View File

@ -4,8 +4,15 @@ import net.minecraft.server.MinecraftServer;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import javax.annotation.Nullable;
public interface IProxy { public interface IProxy {
@Nullable
MinecraftServer getServer(); MinecraftServer getServer();
@Nullable
Player getClientPlayer(); Player getClientPlayer();
Level getClientWorld();
@Nullable
Level getClientLevel();
} }

View File

@ -7,37 +7,35 @@ import net.minecraft.client.Minecraft;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraftforge.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.neoforged.api.distmarker.OnlyIn;
import net.minecraftforge.common.MinecraftForge; import net.neoforged.bus.api.IEventBus;
import net.minecraftforge.event.AddReloadListenerEvent; import net.neoforged.fml.event.lifecycle.*;
import net.minecraftforge.event.server.ServerStartedEvent; import net.neoforged.neoforge.common.NeoForge;
import net.minecraftforge.event.server.ServerStoppingEvent; import net.neoforged.neoforge.event.AddReloadListenerEvent;
import net.minecraftforge.eventbus.api.IEventBus; import net.neoforged.neoforge.event.server.ServerStartedEvent;
import net.minecraftforge.fml.event.lifecycle.*; import net.neoforged.neoforge.event.server.ServerStoppingEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
public class Proxy implements IProxy { public class Proxy implements IProxy {
// Initialize variables // Initialize variables
private static MinecraftServer server = null; private static MinecraftServer server = null;
// Common setup // Common setup
public Proxy() { public Proxy(IEventBus modEventBus) {
// Initialize setup // Initialize setup
Registration.register(); Registration.register();
Config.init(); Config.init();
NetworkManager.init(); NetworkManager.init();
// Register mod event bus listeners // Register mod event bus listeners
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
modEventBus.addListener(Proxy::setup); modEventBus.addListener(Proxy::setup);
modEventBus.addListener(Proxy::imcEnqueue); modEventBus.addListener(Proxy::imcEnqueue);
modEventBus.addListener(Proxy::imcProcess); modEventBus.addListener(Proxy::imcProcess);
// Register event bus listeners // Register event bus listeners
MinecraftForge.EVENT_BUS.addListener(Proxy::onAddReloadListeners); NeoForge.EVENT_BUS.addListener(Proxy::onAddReloadListeners);
MinecraftForge.EVENT_BUS.addListener(Proxy::serverStarted); NeoForge.EVENT_BUS.addListener(Proxy::serverStarted);
MinecraftForge.EVENT_BUS.addListener(Proxy::serverStopping); NeoForge.EVENT_BUS.addListener(Proxy::serverStopping);
} }
private static void setup(FMLCommonSetupEvent event) {} private static void setup(FMLCommonSetupEvent event) {}
@ -67,15 +65,15 @@ public class Proxy implements IProxy {
} }
@Override @Override
public Level getClientWorld() { public Level getClientLevel() {
return null; return null;
} }
// Client setup // Client setup
public static class Client extends Proxy { public static class Client extends Proxy {
public Client() { public Client(IEventBus modEventBus) {
super(modEventBus);
// Register mod event bus listeners // Register mod event bus listeners
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
modEventBus.addListener(Client::setup); modEventBus.addListener(Client::setup);
modEventBus.addListener(Client::postSetup); modEventBus.addListener(Client::postSetup);
} }
@ -92,16 +90,16 @@ public class Proxy implements IProxy {
@Override @Override
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public Level getClientWorld() { public Level getClientLevel() {
return Minecraft.getInstance().level; return Minecraft.getInstance().level;
} }
} }
// Server setup // Server setup
public static class Server extends Proxy { public static class Server extends Proxy {
public Server() { public Server(IEventBus modEventBus) {
super(modEventBus);
// Register mod event bus listeners // Register mod event bus listeners
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
modEventBus.addListener(Server::setup); modEventBus.addListener(Server::setup);
} }