Начинающий
- Статус
- Оффлайн
- Регистрация
- 1 Фев 2026
- Сообщения
- 15
- Реакции
- 0
plugins {
id 'fabric-loom' version '1.9.2'
id 'maven-publish'
id("org.jetbrains.kotlin.jvm") version "2.1.20"
}
version = project.mod_version
group = project.maven_group
base {
archivesName = project.archives_base_name
}
configurations {
libImpl
modImpl
yguard
}
repositories {
maven {
name = "meteor-maven-snapshots"
url = "
}
maven { url "
mavenCentral()
}
loom {
accessWidenerPath = file("src/main/resources/accesswidener")
mixin {
defaultRefmapName = "Cataclysm-refmap.json"
useLegacyMixinAp = true
}
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
include(modImplementation('io.netty:netty-handler-proxy:4.1.82.Final'))
include(modImplementation('io.netty:netty-codec-socks:4.1.82.Final'))
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: '3.1.8'
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
modCompileOnly "meteordevelopment:baritone:1.21.4-SNAPSHOT"
libImpl fileTree(dir: 'libs', include: ['*.jar'])
libImpl("org.jetbrains.kotlin:kotlin-stdlib:2.0.0")
implementation 'com.google.code.gson:gson:2.10.1'
modImplementation 'org.java-websocket:Java-WebSocket:1.5.6'
modImplementation 'com.github.oshi:oshi-core:6.4.0'
configurations.libImpl.dependencies.each { implementation(it) }
configurations.modImpl.dependencies.each { modImplementation(it) include(it) }
// Библиотека для обфускации
yguard 'com.yworks:yguard:4.1.0'
}
def targetJavaVersion = 21
tasks.withType(JavaCompile).configureEach {
it.options.encoding = "UTF-8"
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
it.options.release.set(targetJavaVersion)
}
}
java {
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
if (JavaVersion.current() < javaVersion) {
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
}
withSourcesJar()
}
jar {
from("LICENSE") {
rename { "${it}_${project.archivesBaseName}"}
}
from {
configurations.libImpl.collect { it.isDirectory() ? it : zipTree(it) }
}
from("build/classes/java/main") {
include "Cataclysm-refmap.json"
}
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
}
// --- ИСПРАВЛЕННЫЙ ТАСК ОБФУСКАЦИИ ---
task obfuscate(dependsOn: remapJar) {
group = 'obfuscation'
doLast {
// Объявляем переменные, чтобы не было ошибок
def mainClassPath = "fun.cataclysm.Cataclysm"
def jarFile = remapJar.archiveFile.get().asFile
def obfFile = file("build/libs/${base.archivesName.get()}-${version}-WexOne-OBF.jar")
ant.taskdef(
name: 'yguard',
classname: 'com.yworks.yguard.YGuardTask',
classpath: configurations.yguard.asPath
)
ant.yguard {
inoutpair(in: jarFile, out: obfFile)
externalclasses {
fileset(dir: "${System.getProperty('java.home')}/jmods")
configurations.runtimeClasspath.each { if (it.exists()) fileset(file: it) }
}
rename(mainclass: mainClassPath, logfile: "${buildDir}/yguard.log") {
keep {
// Защищаем твою точку входа
class(name: mainClassPath) {
method(name: 'onInitialize')
}
// Защищаем миксины
class(members: 'protected', name: 'fun.cataclysm.mixins.**')
// Чтобы Fabric не сломался
class(name: 'net.fabricmc.**')
class(name: 'net.minecraft.**')
}
}
}
println "------------------------------------------------------"
println "WexOne успешно зашифрован! Файл: ${obfFile.name}"
println "------------------------------------------------------"
}
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
Это я делал с Gemini пж помогите сдесь
// Защищаем твою точку входа
class(name: mainClassPath) {
method(name: 'onInitialize')
ошибка в просто в первой букве class я писал и джипити и гемини она присылали не рабочие говно
id 'fabric-loom' version '1.9.2'
id 'maven-publish'
id("org.jetbrains.kotlin.jvm") version "2.1.20"
}
version = project.mod_version
group = project.maven_group
base {
archivesName = project.archives_base_name
}
configurations {
libImpl
modImpl
yguard
}
repositories {
maven {
name = "meteor-maven-snapshots"
url = "
Пожалуйста, авторизуйтесь для просмотра ссылки.
"}
maven { url "
Пожалуйста, авторизуйтесь для просмотра ссылки.
" }mavenCentral()
}
loom {
accessWidenerPath = file("src/main/resources/accesswidener")
mixin {
defaultRefmapName = "Cataclysm-refmap.json"
useLegacyMixinAp = true
}
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
include(modImplementation('io.netty:netty-handler-proxy:4.1.82.Final'))
include(modImplementation('io.netty:netty-codec-socks:4.1.82.Final'))
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: '3.1.8'
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
modCompileOnly "meteordevelopment:baritone:1.21.4-SNAPSHOT"
libImpl fileTree(dir: 'libs', include: ['*.jar'])
libImpl("org.jetbrains.kotlin:kotlin-stdlib:2.0.0")
implementation 'com.google.code.gson:gson:2.10.1'
modImplementation 'org.java-websocket:Java-WebSocket:1.5.6'
modImplementation 'com.github.oshi:oshi-core:6.4.0'
configurations.libImpl.dependencies.each { implementation(it) }
configurations.modImpl.dependencies.each { modImplementation(it) include(it) }
// Библиотека для обфускации
yguard 'com.yworks:yguard:4.1.0'
}
def targetJavaVersion = 21
tasks.withType(JavaCompile).configureEach {
it.options.encoding = "UTF-8"
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
it.options.release.set(targetJavaVersion)
}
}
java {
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
if (JavaVersion.current() < javaVersion) {
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
}
withSourcesJar()
}
jar {
from("LICENSE") {
rename { "${it}_${project.archivesBaseName}"}
}
from {
configurations.libImpl.collect { it.isDirectory() ? it : zipTree(it) }
}
from("build/classes/java/main") {
include "Cataclysm-refmap.json"
}
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
}
// --- ИСПРАВЛЕННЫЙ ТАСК ОБФУСКАЦИИ ---
task obfuscate(dependsOn: remapJar) {
group = 'obfuscation'
doLast {
// Объявляем переменные, чтобы не было ошибок
def mainClassPath = "fun.cataclysm.Cataclysm"
def jarFile = remapJar.archiveFile.get().asFile
def obfFile = file("build/libs/${base.archivesName.get()}-${version}-WexOne-OBF.jar")
ant.taskdef(
name: 'yguard',
classname: 'com.yworks.yguard.YGuardTask',
classpath: configurations.yguard.asPath
)
ant.yguard {
inoutpair(in: jarFile, out: obfFile)
externalclasses {
fileset(dir: "${System.getProperty('java.home')}/jmods")
configurations.runtimeClasspath.each { if (it.exists()) fileset(file: it) }
}
rename(mainclass: mainClassPath, logfile: "${buildDir}/yguard.log") {
keep {
// Защищаем твою точку входа
class(name: mainClassPath) {
method(name: 'onInitialize')
}
// Защищаем миксины
class(members: 'protected', name: 'fun.cataclysm.mixins.**')
// Чтобы Fabric не сломался
class(name: 'net.fabricmc.**')
class(name: 'net.minecraft.**')
}
}
}
println "------------------------------------------------------"
println "WexOne успешно зашифрован! Файл: ${obfFile.name}"
println "------------------------------------------------------"
}
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
Это я делал с Gemini пж помогите сдесь
// Защищаем твою точку входа
class(name: mainClassPath) {
method(name: 'onInitialize')
ошибка в просто в первой букве class я писал и джипити и гемини она присылали не рабочие говно