На какой версии лучше делать сервер с модами? 1.12.2 или 1.16.5

Ситуация такая: хочу сделать свой проект, для которого буду писать свой мод. Планировал изначально на наиболее новой версии, но все уперлось в кастом нпс, для которого самая свежая версия - 1.16.5, значит выше ехать не могу. 3 дня танцевал с бубном и настройкой среды, по советам с ютуба поставив jdk 16. Проект не билдился и тд, после чего накатил jdk 8 и все заработало. В связи с чем и поделился с своими товарищами успехом, после чего один знакомый, позиционирующий себя как "серверный админ в отставке" дал совет, что сервера на 1.16.5 на форже делать не стоит, подкрепив свои доводы следующим (цитата): "Наиболее стабильна для разработки нормального проекта 1.12.2, ибо на неё наибольшее количество скриптов, ядер, модов и всего осталось по серверной части. 1.12.2 пока-что наилучший выбор, ибо ниже нет преимуществ, а выше больше недостатков в виде конфликтов скриптов и ядер, модов и скриптов, меньшая стабильность плагинов и модов, большее потребление ресурсов".
Последовав совету, скачал mdk для версии 1.12.2, запустил девственно чистый скачанный форж, проект сиблдился, но клиент так и не смог нормально стартануть, выдавая при загрузке ошибку. Пробовал и gradle.build менять и в основном классе мода, все равно та же ошибка. Chat gpt развел руками, а нагуглить решение проблемы не получилось (мб я криворукий и все гуглится элементарно). Но тем не менее, вопрос в другом.
Стоят ли новые танцы с бубном этого геморроя или все вышеперечисленные проблемы уже исправили для версии 1.16.5?
 
Forge прекратил поддержку для +- старых версий. Используй билд от anatawa (уже тыщу раз на форуме об этом говорили, я хз как ты не нашёл).
Админ твой даёт нормальный совет, за исключением того, что более-менее адекватные ядра на новых версиях работают на fabric (однако это не значит, что новые версии по оптимизации сравнятся со старыми), ибо в forge куча легаси (да и просто неоптимизированного) кода. По крайней мере, из моего опыта именно так. Форумчане поправят, если где-то приврал.
Касательно Custom NPCs - на версиях выше есть аналоги (как на Forge, так и на Fabric), однако по уровню они, конечно, не дотягивают до оригинала.
Взамен, можно обойтись связкой мод+датапак, однако за эффективность такого дела не скажу.

Касательно того, стоит ли переезжать - решай сам:
1.7.10 - дед. Версии ещё старше - динозавры.
1.12.2 - стабильность и простота.
1.13+ - куча новых и интересных фишек, но проблемы с оптимизацией.
 
Ситуация такая: хочу сделать свой проект, для которого буду писать свой мод.
Увы, не выйдет всё совмещать по времени. Либо занимаетесь полноценно модом, либо управлением проектом.

Куча ошибок - это классика. В майне на любой чих что-нибудь ломается...
 
Я прекрасно понимаю что сесть на все стулья сразу это нереально, по этому и планирую сначала писать мод, вокруг которого будет строиться геймплей, а потом уже садиться за проект и пилить обновления уже посредством кастом нпс, параллельно добавляя парочку моделек боссов и тд., что по идее не настолько время затратно что бы сильно отвлекаться от управления проектом. В моем прекрасном плане будущего, насколько я себе представляю, не требуется после написания мода его прям сильно менять и дорабатывать.

А подгорело у меня как раз таки из за того, что пока я 3 дня ковырялся в мдк форжа на 1.16.5, он выкидывал кучу ошибок просто при билде проекта, пока я еще ниче не успел изменить. И вот когда я разобрался в том, что на самом деле, требуется ждк 8, а не 16, как на уверенных щщах затирал школьник с ютуба, вывалилась инфа, мол сервер то надо делать на версии ниже. После, удостоверившись у чата гпт (который и помог решить прошлую проблему) что ждк 8 вообще то и создавалась под майн 1.12.2 и идеально подойдет для реализации моего проекта, я на таких же уверенных щщах пошел качать мдк для этой версии. Проект сбилдился все было хорошо и для верности решил запустить девственно чистый проект, который кроме разрабов форжа никто не трогал, а значит по логике он должен спокойно запустить клиент и в вкладке модс показать заветный example mod. Но при загрузке самого клиента раз за разом мне по лицу хлестало эксепшеном. На что чат гпт отправил меня к вам, с словами: "Либо ты тупой, либо разрабы форжа. Так что дуй на форум там умные люди, они разберутся"
 
ГПТ в случае майна мало чем полезен будет. Узкая ниша, мало инфы, большой разброс по коду в разных версиях. Он только по Java может помочь, с её богатой историей и стабильностью.
 
Последовав совету, скачал mdk для версии 1.12.2, запустил девственно чистый скачанный форж, проект сиблдился, но клиент так и не смог нормально стартануть, выдавая при загрузке ошибку.

Держи мою рабочую градлю, которая на текущий момент исправно работает. (используй версию 6.8.1) Думаю сам разберешься
Gradle (Groovy):
buildscript {
    repositories {
        mavenCentral()
        maven { url = "https://plugins.gradle.org/m2" }
        maven { url = "https://repo.spongepowered.org/maven" }
        maven { url = "https://maven.minecraftforge.net/" }
    }
    dependencies {
        classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle',
                version: '4.1.+', changing: true
        //classpath "org.spongepowered:mixingradle:0.7-SNAPSHOT"
    }
}

apply plugin: 'net.minecraftforge.gradle'
//apply plugin: "org.spongepowered.mixin"

def name = 'te4_blocks'

version = "1.0"
group = "plus.blocks"
archivesBaseName = name

sourceCompatibility = targetCompatibility = 1.8
compileJava.options.encoding = compileTestJava.options.encoding = "UTF-8"

minecraft {
    mappings channel: 'stable', version: "39-1.12"

    runs {
        client {
            workingDirectory project.file('run')
            property 'forge.logging.markers', 'REGISTRIES'
            property 'forge.logging.console.level', 'debug'
            //args "--tweakClass", "org.spongepowered.asm.launch.MixinTweaker"
        }
        server {
            workingDirectory project.file('run')
            property 'forge.logging.markers', 'REGISTRIES'
            property 'forge.logging.console.level', 'debug'
            //args "--tweakClass", "org.spongepowered.asm.launch.MixinTweaker"
        }
    }
}

task prepareAssets(type: Copy) {
    group = 'build'
    from project.file('src/main/resources')
    into project.file('build/classes/java/main')
}

repositories {
    mavenCentral()
    maven { url = "https://repo.spongepowered.org/maven" }
}

dependencies {
    minecraft "net.minecraftforge:forge:1.12.2-14.23.5.2859"

    implementation fileTree(dir: 'lib', include: ['*.jar'])

   //implementation "org.spongepowered:mixin:0.8.3-SNAPSHOT"
   //annotationProcessor 'org.spongepowered:mixin:0.8.3-SNAPSHOT:processor'
}

jar {
    from {
        configurations.runtimeClasspath.collect {
            if(it.name.equalsIgnoreCase("elca_lib-2.3.9.03.jar")) {
                zipTree(it)
            }
        }
    }
}

sourceSets {
    main {
        java {
            srcDir 'C:/Users/Te4hnoPlus/IdeaProjects/TsonConfigurations/core/src/main/java'
            srcDir 'C:/Users/Te4hnoPlus/IdeaProjects/TsonConfigurations/extensions/src/main/java'
        }
    }
}
 
Назад
Сверху