Closed Anon8281 closed 1 year ago
"updateOptional": [
{
"actions":[
{
"files":{
"mods/optifine.jar":"",
"mods/optifabric.jar":""
},
"type":"file"
}
],
"name":"Optifine",
"info":"Оптимизационный мод для старых ПК",
"visible":true,
"xorConflictFile":[
{
"name":"Sodium"
}
],
"mark":false,
"limited":false
},
{
"actions":[
{
"files":{
"mods/sodium.jar":""
},
"type":"file"
}
],
"name":"Sodium",
"info":"Оптимизационный мод для новых ПК",
"xorConflictFile":[
{
"name":"Optifine"
}
],
"visible":true,
"mark":true,
"limited":false
}
]
а то не понятно
xorConflict стоит переименовать во что то более подходящее. Многие не знаю что такое xor
xorConflict стоит переименовать во что то более подходящее. Многие не знаю что такое xor
mutuallyExclusive?
Теперь примерно так:
"updateOptional": [
{
"actions":[
{
"files":{
"mods/optifine.jar":"",
"mods/optifabric.jar":""
},
"type":"file"
}
],
"name":"Optifine",
"info":"Оптимизационный мод для старых ПК",
"visible":true,
"groupFile":[
{
"name":"Sodium"
}
],
"mark":false,
"limited":false
},
{
"actions":[
{
"files":{
"mods/sodium.jar":""
},
"type":"file"
}
],
"name":"Sodium",
"info":"Оптимизационный мод для новых ПК",
"groupFile":[
{
"name":"Optifine"
}
],
"visible":true,
"mark":true,
"limited":false
}
]
Feature: Позволяет сделать моды конфликтующими по принципу XOR. Пример использования: создание профиля клиента с возможностью выбора строго одного из двух(или более) взаимоисключающих модов.
Юзкейс:
Есть два набора модов:
Optifabric работает менее стабильно, чем Sodium и альтернативы, однако, запускается на большем количестве устройств за счет более мягких требований к OpenGL(требуется OpenGL 3.2), в то время как Sodium(как и альтернативы CIT) работает шустрее, но требует OpenGL 4.3, соответственно запускается на меньшем количестве компьютеров.
Как итог, есть необходимость заставить игрока установить 1 из 2 модов, чтобы обеспечить поддержку CIT
Пример конфига:
Fix: Исправляет возможный краш клиента, если добавить мод в опциональные, но забыть про его зависимости и закидывать их уже задним числом. (Также фиксит требование XOR на активацию хотя бы одного мода).