diff --git a/src/main/java/net/minecraftforge/network/NetworkRegistry.java b/src/main/java/net/minecraftforge/network/NetworkRegistry.java index 3dfabbc8927..4c5beb1dbc8 100644 --- a/src/main/java/net/minecraftforge/network/NetworkRegistry.java +++ b/src/main/java/net/minecraftforge/network/NetworkRegistry.java @@ -26,6 +26,7 @@ import java.util.Optional; import java.util.Set; import java.util.HashSet; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.BiFunction; import java.util.function.Predicate; import java.util.function.Supplier; @@ -39,6 +40,8 @@ public class NetworkRegistry private static final Logger LOGGER = LogManager.getLogger(); private static final Marker NETREGISTRY = MarkerManager.getMarker("NETREGISTRY"); + private static final AtomicBoolean kilt$acceptsVanillaConnections = new AtomicBoolean(false); + private static Map instances = Collections.synchronizedMap(new HashMap<>()); /** @@ -79,7 +82,12 @@ public static List getClientNonVanillaNetworkMods() return listRejectedVanillaMods(NetworkInstance::tryServerVersionOnClient); } + public static void kilt$enableVanillaConnections() { + kilt$acceptsVanillaConnections.set(true); + } + public static boolean acceptsVanillaClientConnections() { + if (kilt$acceptsVanillaConnections.get()) return true; return (instances.isEmpty() || getServerNonVanillaNetworkMods().isEmpty()) && DataPackRegistriesHooks.getSyncedCustomRegistries().isEmpty(); }