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

Вырезалка 2

542
15
272
Как вырезать Invoke.server(() -> {}); и + сам import ru.justagod.cutter.invoke.*?
 
214
11
57
@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
 
6,870
301
1,413
1,2 - Проблемы известные. Решается костыльными инвокаторами.
Там примерно так в конструкторе:
Java:
Invoke.client(()->clientClass = ClientClassBuilder.builder().blabla().build());
Invoke.server(()->serverConfig = new ServerConfig());
 
6,870
301
1,413
Джаст выше по теме объяснял почему не может сделать нормальное вырезание полей
 
134
3
33
Вот заметил такое у себя в проекте через недельку после добавления Cutter. Джарники абсолютно одинаковые, что немного напрягает.
Обновление: кажется, это из-за модульности, окей. Но нельзя ли сделать мавен для dev-версии только, без sources и javadoc? А т там теперь этих вырезалок как зависимостей в майне...
1610375134605.png
 
Последнее редактирование:
1,534
40
395
с фг 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
в новом вроде работает...
 
Последнее редактирование:
6,870
301
1,413
Когда будет поддержка FG4+?
 
4
0
Получится ли обфусцировать мод прогвардом, если использовать вырезалку?
Если да, то можно посмотреть конфиг?
 
Последнее редактирование:

tox1cozZ

aka Agravaine
Модератор
8,092
554
2,652
Причем тут вырезалка вообще? Она никак не влияет.
 
1,155
37
534
1,155
37
534
1,155
37
534

GoogleTan

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