Иконка ресурса

Вырезалка 2

214
11
59
@JustAGod Начал пользоваться либой и первое же на что наткнулся, это на такую картину:

Исходник:
@Mod(modid = "asd")
public class MainMod {

    @GradleSideOnly(GradleSide.CLIENT)
    private final ClientClass clientClass = ClientClassBuilder.builder().blabla().build();

    @GradleSideOnly(GradleSide.SERVER)
    private final ServerConfig serverConfig = new ServerConfig();

    @Mod.EventHandler
    public void event(FMLPreInitializationEvent event) {
        Invoke.server(serverConfig::load);
    }
}
итого на клиенте:
@Mod(
    modid = "asd"
)
public class MainMod {
    private final ClientClass clientClass = ClientClassBuilder.builder().blabla().build();

    public MainMod() {
        this.serverConfig = new ServerConfig(); // проблема #1
    }

    @EventHandler
    public void event(FMLPreInitializationEvent event) {
        Invoke.server(() -> {
        });
    }
}
итого на сервере:
@Mod(
    modid = "asd"
)
public class MainMod {
    private final ServerConfig serverConfig;

    public MainMod() {
        this.clientClass = ClientClassBuilder.builder().blabla().build(); // проблема #2
        this.serverConfig = new ServerConfig();
    }

    @EventHandler
    public void event(FMLPreInitializationEvent event) {
        Invoke.server(() -> {
            var0.load(); // проблема #3. прикрепа с байткодом ниже
        });
    }
}
1606764187044.png
Gradle (Groovy):
buildscript {
    repositories {
        mavenCentral()
        maven {
            name = 'forge'
            url = 'http://files.minecraftforge.net/maven'
        }
        maven {
            name = 'sonatype'
            url = 'https://oss.sonatype.org/content/repositories/snapshots/'
        }
    }
    dependencies {
        classpath 'tech.justagod:cutter:2.1.0-SNAPSHOT'
        classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
    }
}

apply plugin: 'cutter'
apply plugin: 'forge'
apply plugin: 'idea'
idea.module.inheritOutputDirs = true

version = '1.0'
group = 'bla'
archivesBaseName = 'bla'

targetCompatibility = sourceCompatibility = '1.8'

compileJava.options.encoding = 'UTF-8'

minecraft {
    version = '1.7.10-10.13.4.1614-1.7.10'
    runDir = 'runtime'
}

cutter.initializeDefault()
cutter.withoutDefaultLib = true
cutter.removeAnnotations = true
cutter.validation = false
 
7,099
324
1,509
1,2 - Проблемы известные. Решается костыльными инвокаторами.
Там примерно так в конструкторе:
Java:
Invoke.client(()->clientClass = ClientClassBuilder.builder().blabla().build());
Invoke.server(()->serverConfig = new ServerConfig());
 
7,099
324
1,509
Джаст выше по теме объяснял почему не может сделать нормальное вырезание полей
 
178
4
42
Вот заметил такое у себя в проекте через недельку после добавления Cutter. Джарники абсолютно одинаковые, что немного напрягает.
Обновление: кажется, это из-за модульности, окей. Но нельзя ли сделать мавен для dev-версии только, без sources и javadoc? А т там теперь этих вырезалок как зависимостей в майне...
1610375134605.png
 
Последнее редактирование:

will0376

Токсичная личность
2,059
55
575
с фг 4 сломалось? hastebin
депы:
Gradle (Groovy):
dependencies {
    minecraft 'net.minecraftforge:forge:1.12.2-14.23.5.2855'
    compile "io.gitlab.hohserg.elegant.networking:elegant-networking-1.12:3.4"
    compile 'org.projectlombok:lombok:1.18.8'
    annotationProcessor 'org.projectlombok:lombok:1.18.8', "io.gitlab.hohserg.elegant.networking:annotation-processor:3.5"
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
UPD: в старом фг4 проекте - hastebin
в новом вроде работает...
 
Последнее редактирование:
7,099
324
1,509
Когда будет поддержка FG4+?
 
6
0
Получится ли обфусцировать мод прогвардом, если использовать вырезалку?
Если да, то можно посмотреть конфиг?
 
Последнее редактирование:
1,159
38
544
1,159
38
544
1,159
38
544

GoogleTan

Картошка :3
1,354
43
310
Вопрос, а если FG2, то будет ли оно работать с Скалой или котлином?
 
Сверху