diff --git a/src/main/java/ru/bclib/api/dataexchange/handler/autosync/AutoSync.java b/src/main/java/ru/bclib/api/dataexchange/handler/autosync/AutoSync.java index da78fca4..89a33463 100644 --- a/src/main/java/ru/bclib/api/dataexchange/handler/autosync/AutoSync.java +++ b/src/main/java/ru/bclib/api/dataexchange/handler/autosync/AutoSync.java @@ -135,7 +135,7 @@ public class AutoSync { } private static boolean didRegisterAdditionalMods = false; - //we call this from HelloClient on the Srérver to prepare transfer + //we call this from HelloClient on the Server to prepare transfer protected static void loadSyncFolder() { if (Configs.SERVER_CONFIG.isOfferingFiles()) { syncFolderDescriptions.forEach(desc -> desc.loadCache()); diff --git a/src/main/java/ru/bclib/api/dataexchange/handler/autosync/HelloClient.java b/src/main/java/ru/bclib/api/dataexchange/handler/autosync/HelloClient.java index 0d24997c..83762718 100644 --- a/src/main/java/ru/bclib/api/dataexchange/handler/autosync/HelloClient.java +++ b/src/main/java/ru/bclib/api/dataexchange/handler/autosync/HelloClient.java @@ -16,6 +16,7 @@ import ru.bclib.api.dataexchange.DataHandlerDescriptor; import ru.bclib.api.dataexchange.handler.autosync.AutoSyncID.WithContentOverride; import ru.bclib.api.dataexchange.handler.autosync.SyncFolderDescriptor.SubFile; import ru.bclib.config.Configs; +import ru.bclib.config.ServerConfig; import ru.bclib.gui.screens.ModListScreen; import ru.bclib.gui.screens.ProgressScreen; import ru.bclib.gui.screens.SyncFilesScreen; @@ -91,6 +92,11 @@ public class HelloClient extends DataHandler.FromServer { .collect(Collectors.toList()) ); } + + mods = mods + .stream() + .filter(entry -> !Configs.SERVER_CONFIG.get(ServerConfig.EXCLUDED_MODS).contains(entry)) + .collect(Collectors.toList()); //write Plugin Versions buf.writeInt(mods.size()); diff --git a/src/main/java/ru/bclib/config/ServerConfig.java b/src/main/java/ru/bclib/config/ServerConfig.java index 252c48e0..bf8a66b7 100644 --- a/src/main/java/ru/bclib/config/ServerConfig.java +++ b/src/main/java/ru/bclib/config/ServerConfig.java @@ -16,6 +16,7 @@ public class ServerConfig extends NamedPathConfig { public static final ConfigToken> ADDITIONAL_MODS = ConfigToken.StringArray(new ArrayList<>(0), "additionalMods", AutoSync.SYNC_CATEGORY); + public static final ConfigToken> EXCLUDED_MODS = ConfigToken.StringArray(new ArrayList<>(0), "excludeMods", AutoSync.SYNC_CATEGORY); public ServerConfig() { @@ -45,8 +46,5 @@ public class ServerConfig extends NamedPathConfig { public boolean isOfferingInfosForMods() { return get(SEND_ALL_MOD_INFO) /*&& isAllowingAutoSync()*/; } - - public String[] additionalModsForSync() { - return new String[0]; - } + }