Убрать анимацию реэкипировки OBJ предмета при использовании

Версия Minecraft
1.7.10
API
Forge
48
2
9
У меня предмет с OBJ моделькой. При его использовании, когда игрок навелся на блок, происходит анимация реэкипировки предмета. Я знаю, что за нее отвечает поле equippedProgress в классе ItemRenderer, но к сожалению данное поле приватное и изменению не поддаеться.

Я думал над тем, чтобы сделать копию класса ItemRenderer, заменив модификатор доступа поля equippedProgress на public, а потом при срабатывании ивента RenderHandEvent отменять его и рисовать все тоже самое, только поменяв значени поля. Проблема только в том, что я не знаю как происходит данный процесс и в каком порядке какие действия нужно выполнить, чтобы мой кастомный ItemRenderer сделал все тоже самое, что и обычный.

Может кто знает как решить даный вопрос?
 
48
2
9
Решил сделать через Access Transformer. В учебнике вычитал, что надо изменить немного build.gradle, добавить в META-INF файлик _at.cfg и запустить gradlew clean setupDecompWorkspace --refresh-dependencies, что я собственно и сделал. Процесс завершился без ошибок, но поле все так и осталось приватным.

При ребилде также написало: Found AccessTransformer in main resources: examplemod_at.cfg

Вот мой examplemod_at.cfg:
examplemod_at.cfg:
public net.minecraft.client.renderer.ItemRenderer equippedProgress

Вот build.gradle
build.gradle:
buildscript {
    repositories {
        mavenCentral()
        maven {
            name = "forge"
            url = "https://maven.minecraftforge.net/"
        }
        maven {
            name = "sonatype"
            url = "https://oss.sonatype.org/content/repositories/snapshots/"
        }
    }
    dependencies {
        classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
            changing = true
        }
    }
}

plugins {
    id 'java-library'
    id 'maven-publish'
}

apply plugin: 'forge'

// These settings allow you to choose what version of Java you want to be compatible with. Forge 1.7.10 runs on Java 6 to 8.
sourceCompatibility = 1.6
targetCompatibility = 1.6

version = project.version
group = project.group

minecraft {
    version = project.minecraft_version + "-" + project.forge_version
    runDir = "run"
}

jar {
    manifest {
        attributes 'FMLAT': 'examplemod_at.cfg'
    }
}

dependencies {
    implementation "io.gitlab.hohserg.elegant.networking:elegant-networking-1.7.10:3.10"
    compileOnly "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
    annotationProcessor "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
}

processResources {
    // This will ensure that this task is redone when the versions change.
    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

    // Replace values in only mcmod.info.
    filesMatching('mcmod.info') {
        // Replace version and mcversion.
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
}

// Ensures that the encoding of source files is set to UTF-8, see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

// This task creates a .jar file containing the source code of this mod.
task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = "sources"
    from sourceSets.main.allSource
}

// This task creates a .jar file containing a deobfuscated version of this mod, for other developers to use in a development environment.
task devJar(type: Jar) {
    classifier = "dev"
    from sourceSets.main.output
}

// Creates the listed artifacts on building the mod.
artifacts {
    archives sourcesJar
    archives devJar
}

// This block configures any maven publications you want to make.
publishing {
    publications {
        mavenJava(MavenPublication) {
        // Add any other artifacts here that you would like to publish!
            artifact(jar) {
                builtBy build
            }
            artifact(sourcesJar) {
                builtBy sourcesJar
            }
            artifact(devJar) {
                builtBy devJar
            }
        }
    }

    // This block selects the repositories you want to publish to.
    repositories {
        // Add the repositories you want to publish to here.
    }
}

Что я делаю не так? Может на 1.7 версии как-то нужно действовать по-другому?
 
Сверху