config sync fix number 2

This commit is contained in:
FalsePattern committed 2023-10-29 21:33:09 +01:00
1 parent 7061419af0
commit b1cf8cbf78
2 files changed
+25 -13

No files matched your search

@@ -27,17 +27,24 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.SneakyThrows;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.network.FMLNetworkEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.concurrent.atomic.AtomicBoolean;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@SideOnly(Side.CLIENT)
public final class ClientEventHandlerPost {
private static final ClientEventHandlerPost INSTANCE = new ClientEventHandlerPost();
public static void registerBus() {
MinecraftForge.EVENT_BUS.register(INSTANCE);
FMLCommonHandler.instance().bus().register(INSTANCE);
}
@@ -47,4 +54,22 @@ public final class ClientEventHandlerPost {
public void onSyncRequestClient(ConfigSyncRequestEvent.Client e) {
ConfigurationManagerImpl.sendSyncRequest();
}
private AtomicBoolean shouldDoConfigSync = new AtomicBoolean(false);
@SneakyThrows
@SubscribeEvent
public void onJoinWorld(FMLNetworkEvent.ClientConnectedToServerEvent e) {
if (e.isLocal)
return;
shouldDoConfigSync.set(true);
}
@SneakyThrows
@SubscribeEvent
public void onJoinWorld(EntityJoinWorldEvent e) {
if (e.world.isRemote && e.entity instanceof EntityClientPlayerMP && shouldDoConfigSync.compareAndSet(true, false)) {
ConfigurationManagerImpl.sendSyncRequest();
}
}
}
@@ -23,17 +23,13 @@ package com.falsepattern.lib.internal.impl.config.event;
import com.falsepattern.lib.config.event.ConfigSyncRequestEvent;
import com.falsepattern.lib.internal.FalsePatternLib;
import com.falsepattern.lib.internal.impl.config.ConfigurationManagerImpl;
import com.falsepattern.lib.internal.impl.config.net.SyncPrompt;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.SneakyThrows;
import lombok.val;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
@@ -42,18 +38,9 @@ public class CommonEventHandlerPost {
private static final CommonEventHandlerPost INSTANCE = new CommonEventHandlerPost();
public static void registerBus() {
MinecraftForge.EVENT_BUS.register(INSTANCE);
FMLCommonHandler.instance().bus().register(INSTANCE);
}
@SneakyThrows
@SubscribeEvent
public void onJoinWorld(EntityJoinWorldEvent e) {
if (e.world.isRemote && e.entity instanceof EntityClientPlayerMP) {
ConfigurationManagerImpl.sendSyncRequest();
}
}
@SubscribeEvent
public void onSyncRequestServer(ConfigSyncRequestEvent.Server e) {
val players = e.getPlayers();