From 5a1109f7e9586713cc0a96acb5be748854fb0eea Mon Sep 17 00:00:00 2001 From: Draylar Date: Sat, 13 Mar 2021 15:09:21 -0600 Subject: [PATCH] i don't know why this works --- build.gradle | 36 +++++----- omega-config-base/out.map | 53 -------------- omega-config-base/proguard.conf | 4 +- .../java/draylar/omegaconfig/OmegaConfig.java | 8 +-- .../src/main/resources/fabric.mod.json | 5 -- omega-config-gui/out.map | 72 ------------------- omega-config-gui/proguard.conf | 4 +- .../api/screen/ModMenuHelper.java | 3 - proguard.conf | 4 +- 9 files changed, 31 insertions(+), 158 deletions(-) delete mode 100644 omega-config-base/out.map delete mode 100644 omega-config-gui/out.map diff --git a/build.gradle b/build.gradle index 4e69b60..cacb4a4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,7 @@ import java.nio.charset.StandardCharsets +// this build.gradle is tweaked from CCA: https://github.com/OnyxStudios/Cardinal-Components-API/blob/master/build.gradle + buildscript { repositories { mavenLocal() @@ -13,7 +15,7 @@ buildscript { } plugins { - id "fabric-loom" version "0.6-SNAPSHOT" apply false + id "fabric-loom" version "0.7-SNAPSHOT" id "maven-publish" id "java-library" } @@ -74,8 +76,17 @@ subprojects { publishing { publications { mavenJava(MavenPublication) { - artifact(file("${project.buildDir}/libs/${archivesBaseName}-${project.mod_version}.jar")) { + artifact(remapJar) { + builtBy remapJar + } + + artifact(sourcesJar) { + builtBy remapSourcesJar + } + + artifact(file("${project.buildDir}/libs/${archivesBaseName}-${project.mod_version}-min.jar")) { builtBy(remapJar) + classifier = 'min' } pom.withXml { @@ -104,6 +115,7 @@ subprojects { renamesourcefileattribute 'SourceFile' keepattributes 'Signature,Exceptions,InnerClasses,PermittedSubclasses,EnclosingMethod,Deprecated,SourceFile,LineNumberTable' keepattributes '*Annotation*' + keep 'public class * { \ public protected *; \ }' @@ -118,10 +130,13 @@ subprojects { ;\ }' } + + remapJar.finalizedBy proguard } allprojects { apply plugin: "fabric-loom" + sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 version = System.getenv("TRAVIS_TAG") ?: project.mod_version @@ -191,25 +206,12 @@ repositories { } dependencies { - minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - - // Fabric API. This is technically optional, but you probably want it anyway. - modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - - modImplementation "com.terraformersmc:modmenu:1.16.8" + compile project(":omega-config-base") + compile project(":omega-config-gui") afterEvaluate { testmodImplementation sourceSets.main.output } - - afterEvaluate { - subprojects.each { - api it - include it - } - } } publishing { diff --git a/omega-config-base/out.map b/omega-config-base/out.map deleted file mode 100644 index ed655ad..0000000 --- a/omega-config-base/out.map +++ /dev/null @@ -1,53 +0,0 @@ -draylar.omegaconfig.OmegaConfig -> draylar.omegaconfig.OmegaConfig: - org.apache.logging.log4j.Logger LOGGER -> a - java.util.List REGISTERED_CONFIGURATIONS -> b - com.google.gson.Gson GSON -> GSON - net.minecraft.class_2960 CONFIG_SYNC_PACKET -> CONFIG_SYNC_PACKET - com.google.gson.Gson SYNC_ONLY_GSON -> SYNC_ONLY_GSON - 30:30:void () -> - 41:63:void onInitialize() -> onInitialize - 68:98:draylar.omegaconfig.api.Config register(java.lang.Class) -> register - 104:153:void writeConfig(java.lang.Class,draylar.omegaconfig.api.Config) -> writeConfig - 156:166:void addFieldComments(java.lang.reflect.Field,java.util.Map) -> a - 180:195:java.lang.String getStartingWhitespace(java.lang.String) -> a - 200:200:java.nio.file.Path getConfigPath(draylar.omegaconfig.api.Config) -> getConfigPath - 204:204:boolean configExists(draylar.omegaconfig.api.Config) -> configExists - 208:208:java.util.List getRegisteredConfigurations() -> getRegisteredConfigurations - 145:145:void lambda$writeConfig$4(java.lang.StringBuilder,java.lang.String) -> a - 81:81:boolean lambda$register$3(java.lang.String) -> b - 42:62:void lambda$onInitialize$2(net.minecraft.class_3244,net.fabricmc.fabric.api.networking.v1.PacketSender,net.minecraft.server.MinecraftServer) -> a - 43:61:void lambda$null$1(net.minecraft.class_3244) -> a - 52:55:void lambda$null$0(net.minecraft.class_2499,draylar.omegaconfig.api.Config) -> a - 32:37:void () -> -draylar.omegaconfig.api.Comment -> draylar.omegaconfig.api.Comment: - java.lang.String value() -> value -draylar.omegaconfig.api.Config -> draylar.omegaconfig.api.Config: - 16:17:void save() -> save - 20:36:net.minecraft.class_2487 writeSyncingTag() -> writeSyncingTag - 43:45:boolean hasAnySyncable() -> hasAnySyncable - java.lang.String getName() -> getName - 78:78:java.lang.String getModid() -> getModid - 82:82:boolean hasMenu() -> hasMenu - 44:44:boolean lambda$hasAnySyncable$3(java.lang.annotation.Annotation) -> a - 43:43:boolean lambda$hasAnySyncable$2(java.lang.reflect.Field) -> a - 43:43:boolean lambda$null$1(java.lang.annotation.Annotation) -> b - 24:24:boolean lambda$writeSyncingTag$0(java.lang.annotation.Annotation) -> c -draylar.omegaconfig.api.Syncing -> draylar.omegaconfig.api.Syncing: -draylar.omegaconfig.exception.NoValidConstructorException -> draylar.omegaconfig.exception.NoValidConstructorException: - 3:3:void () -> -draylar.omegaconfig.gson.SyncableExclusionStrategy -> draylar.omegaconfig.gson.SyncableExclusionStrategy: - 7:7:void () -> - 11:11:boolean shouldSkipField(com.google.gson.FieldAttributes) -> shouldSkipField - 16:16:boolean shouldSkipClass(java.lang.Class) -> shouldSkipClass - 11:11:boolean lambda$shouldSkipField$0(java.lang.annotation.Annotation) -> a -draylar.omegaconfig.mixin.ClientMixin -> draylar.omegaconfig.mixin.ClientMixin: - java.util.List savedClientConfig -> savedClientConfig - 25:27:void () -> - 34:77:void onReturn(net.minecraft.class_542,org.spongepowered.asm.mixin.injection.callback.CallbackInfo) -> onReturn - 83:105:void restoreConfigurations(net.minecraft.class_437,org.spongepowered.asm.mixin.injection.callback.CallbackInfo) -> restoreConfigurations - 90:90:boolean lambda$restoreConfigurations$5(java.lang.annotation.Annotation) -> lambda$restoreConfigurations$5 - 86:86:boolean lambda$restoreConfigurations$4(java.lang.annotation.Annotation) -> lambda$restoreConfigurations$4 - 35:76:void lambda$onReturn$3(net.fabricmc.fabric.api.network.PacketContext,net.minecraft.class_2540) -> lambda$onReturn$3 - 39:75:void lambda$null$2(net.minecraft.class_2487) -> lambda$null$2 - 42:73:void lambda$null$1(net.minecraft.class_2520) -> lambda$null$1 - 59:59:boolean lambda$null$0(java.lang.annotation.Annotation) -> lambda$null$0 diff --git a/omega-config-base/proguard.conf b/omega-config-base/proguard.conf index 7079fd3..e331e33 100644 --- a/omega-config-base/proguard.conf +++ b/omega-config-base/proguard.conf @@ -1 +1,3 @@ --ignorewarnings \ No newline at end of file +-ignorewarnings + +-keep class net.fabricmc.api.** { *; } \ No newline at end of file diff --git a/omega-config-base/src/main/java/draylar/omegaconfig/OmegaConfig.java b/omega-config-base/src/main/java/draylar/omegaconfig/OmegaConfig.java index 4f27155..f44aa89 100644 --- a/omega-config-base/src/main/java/draylar/omegaconfig/OmegaConfig.java +++ b/omega-config-base/src/main/java/draylar/omegaconfig/OmegaConfig.java @@ -4,10 +4,9 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import draylar.omegaconfig.api.Comment; import draylar.omegaconfig.api.Config; -import draylar.omegaconfig.gson.SyncableExclusionStrategy; import draylar.omegaconfig.exception.NoValidConstructorException; +import draylar.omegaconfig.gson.SyncableExclusionStrategy; import io.netty.buffer.Unpooled; -import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.fabricmc.loader.api.FabricLoader; @@ -27,7 +26,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; -public class OmegaConfig implements ModInitializer { +public class OmegaConfig { private static final Logger LOGGER = LogManager.getLogger(); private static final List REGISTERED_CONFIGURATIONS = new ArrayList<>(); @@ -36,8 +35,7 @@ public class OmegaConfig implements ModInitializer { public static final Identifier CONFIG_SYNC_PACKET = new Identifier("omegaconfig", "sync"); public static final Gson SYNC_ONLY_GSON = new GsonBuilder().addSerializationExclusionStrategy(new SyncableExclusionStrategy()).setPrettyPrinting().create(); - @Override - public void onInitialize() { + static { ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> { server.execute(() -> { PacketByteBuf packet = new PacketByteBuf(Unpooled.buffer()); diff --git a/omega-config-base/src/main/resources/fabric.mod.json b/omega-config-base/src/main/resources/fabric.mod.json index 9852584..57eacf0 100644 --- a/omega-config-base/src/main/resources/fabric.mod.json +++ b/omega-config-base/src/main/resources/fabric.mod.json @@ -10,11 +10,6 @@ "contact": {}, "license": "MIT", "environment": "*", - "entrypoints": { - "main": [ - "draylar.omegaconfig.OmegaConfig" - ] - }, "mixins": [ "omega-config.mixins.json" ], diff --git a/omega-config-gui/out.map b/omega-config-gui/out.map deleted file mode 100644 index 2a888aa..0000000 --- a/omega-config-gui/out.map +++ /dev/null @@ -1,72 +0,0 @@ -draylar.omegaconfiggui.OmegaConfigGui -> draylar.omegaconfiggui.OmegaConfigGui: - 11:11:void () -> - 19:22:void registerConfigScreen(draylar.omegaconfig.api.Config) -> registerConfigScreen - 20:20:draylar.omegaconfiggui.api.screen.OmegaConfigScreen lambda$registerConfigScreen$0(draylar.omegaconfig.api.Config,net.minecraft.class_437) -> a -draylar.omegaconfiggui.api.screen.ModMenuHelper -> draylar.omegaconfiggui.api.screen.ModMenuHelper: - 14:14:void () -> - 18:23:void injectScreen(draylar.omegaconfig.api.Config,draylar.omegaconfiggui.api.screen.OmegaConfigScreenSupplier) -> injectScreen -draylar.omegaconfiggui.api.screen.OmegaConfigScreen -> draylar.omegaconfiggui.api.screen.OmegaConfigScreen: - java.util.List validClasses -> a - draylar.omegaconfig.api.Config config -> b - net.minecraft.class_437 parent -> c - java.util.Map fieldWidgets -> d - 35:41:void (draylar.omegaconfig.api.Config,net.minecraft.class_437) -> - 45:97:void method_25426() -> method_25426 - 101:112:void method_25394(net.minecraft.class_4587,int,int,float) -> method_25394 - 116:117:void method_25419() -> method_25419 - 123:126:void method_25420(net.minecraft.class_4587) -> method_25420 - 129:140:void renderCustomBackgroundTexture(int,int,int,int,int,int,int,int) -> renderCustomBackgroundTexture - 85:94:void lambda$init$3(net.minecraft.class_4185) -> a - 87:91:void lambda$null$2(java.lang.reflect.Field,net.minecraft.class_3545) -> a - 83:83:void lambda$init$1(net.minecraft.class_4185) -> b - 50:50:boolean lambda$init$0(java.lang.reflect.Field) -> a - 32:32:void () -> -draylar.omegaconfiggui.api.screen.OmegaConfigScreenSupplier -> draylar.omegaconfiggui.api.screen.OmegaConfigScreenSupplier: - draylar.omegaconfiggui.api.screen.OmegaConfigScreen get(net.minecraft.class_437) -> get -draylar.omegaconfiggui.api.screen.widget.BaseTextFieldWidget -> draylar.omegaconfiggui.api.screen.widget.BaseTextFieldWidget: - net.minecraft.class_437 parent -> parent - 15:17:void (net.minecraft.class_437,net.minecraft.class_327,int,int,int,int,net.minecraft.class_2561) -> - 22:29:void method_1876(boolean) -> method_1876 - 23:26:void lambda$setTextFieldFocused$0(net.minecraft.class_364) -> a -draylar.omegaconfiggui.api.screen.widget.DoubleFieldWidget -> draylar.omegaconfiggui.api.screen.widget.DoubleFieldWidget: - 10:11:void (net.minecraft.class_437,net.minecraft.class_327,int,int,int,int,net.minecraft.class_2561) -> - 16:26:void method_1867(java.lang.String) -> method_1867 -draylar.omegaconfiggui.api.screen.widget.LabelWidget -> draylar.omegaconfiggui.api.screen.widget.LabelWidget: - int x -> a - int y -> b - net.minecraft.class_2561 message -> c - 16:20:void (int,int,net.minecraft.class_2561) -> - 24:25:void method_25394(net.minecraft.class_4587,int,int,float) -> method_25394 -draylar.omegaconfiggui.api.screen.widget.TypeWidgets -> draylar.omegaconfiggui.api.screen.widget.TypeWidgets: - java.util.Map CLASS_WIDGETS -> CLASS_WIDGETS - java.util.Map PRIMITIVE_TO_BOXED -> PRIMITIVE_TO_BOXED - 35:35:draylar.omegaconfiggui.api.screen.widget.WidgetSupplier get(java.lang.Class) -> get - 39:39:java.lang.Class unbox(java.lang.Class) -> unbox - 42:44:void () -> - 13:31:void () -> -draylar.omegaconfiggui.api.screen.widget.WidgetSupplier -> draylar.omegaconfiggui.api.screen.widget.WidgetSupplier: - net.minecraft.class_339 create(net.minecraft.class_437,int,int,int,int,net.minecraft.class_2585,java.lang.Object) -> create - java.lang.Object get(net.minecraft.class_339) -> get -draylar.omegaconfiggui.api.screen.widget.supplier.BooleanWidgetSupplier -> draylar.omegaconfiggui.api.screen.widget.supplier.BooleanWidgetSupplier: - 8:8:void () -> - 12:12:net.minecraft.class_4286 create(net.minecraft.class_437,int,int,int,int,net.minecraft.class_2585,java.lang.Boolean) -> create - 17:17:java.lang.Boolean get(net.minecraft.class_4286) -> get - 8:8:java.lang.Object get(net.minecraft.class_339) -> get - 8:8:net.minecraft.class_339 create(net.minecraft.class_437,int,int,int,int,net.minecraft.class_2585,java.lang.Object) -> create -draylar.omegaconfiggui.api.screen.widget.supplier.DoubleWidgetSupplier -> draylar.omegaconfiggui.api.screen.widget.supplier.DoubleWidgetSupplier: - 9:9:void () -> - 13:16:draylar.omegaconfiggui.api.screen.widget.DoubleFieldWidget create(net.minecraft.class_437,int,int,int,int,net.minecraft.class_2585,java.lang.Double) -> create - 21:33:java.lang.Double get(draylar.omegaconfiggui.api.screen.widget.DoubleFieldWidget) -> get - 9:9:java.lang.Object get(net.minecraft.class_339) -> get - 9:9:net.minecraft.class_339 create(net.minecraft.class_437,int,int,int,int,net.minecraft.class_2585,java.lang.Object) -> create -draylar.omegaconfiggui.api.screen.widget.supplier.StringWidgetSupplier -> draylar.omegaconfiggui.api.screen.widget.supplier.StringWidgetSupplier: - 11:11:void () -> - 15:18:net.minecraft.class_342 create(net.minecraft.class_437,int,int,int,int,net.minecraft.class_2585,java.lang.String) -> create - 23:23:java.lang.String get(net.minecraft.class_342) -> get - 11:11:java.lang.Object get(net.minecraft.class_339) -> get - 11:11:net.minecraft.class_339 create(net.minecraft.class_437,int,int,int,int,net.minecraft.class_2585,java.lang.Object) -> create -draylar.omegaconfiggui.mixin.AbstractButtonWidgetAccessor -> draylar.omegaconfiggui.mixin.AbstractButtonWidgetAccessor: - void callSetFocused(boolean) -> callSetFocused -draylar.omegaconfiggui.mixin.ModMenuAccessor -> draylar.omegaconfiggui.mixin.ModMenuAccessor: - 13:13:com.google.common.collect.ImmutableMap getConfigScreenFactories() -> getConfigScreenFactories - 18:18:void setConfigScreenFactories(com.google.common.collect.ImmutableMap) -> setConfigScreenFactories diff --git a/omega-config-gui/proguard.conf b/omega-config-gui/proguard.conf index 7079fd3..e331e33 100644 --- a/omega-config-gui/proguard.conf +++ b/omega-config-gui/proguard.conf @@ -1 +1,3 @@ --ignorewarnings \ No newline at end of file +-ignorewarnings + +-keep class net.fabricmc.api.** { *; } \ No newline at end of file diff --git a/omega-config-gui/src/main/java/draylar/omegaconfiggui/api/screen/ModMenuHelper.java b/omega-config-gui/src/main/java/draylar/omegaconfiggui/api/screen/ModMenuHelper.java index 26faa46..0f220e6 100644 --- a/omega-config-gui/src/main/java/draylar/omegaconfiggui/api/screen/ModMenuHelper.java +++ b/omega-config-gui/src/main/java/draylar/omegaconfiggui/api/screen/ModMenuHelper.java @@ -7,9 +7,6 @@ import draylar.omegaconfiggui.mixin.ModMenuAccessor; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import java.util.HashMap; -import java.util.Map; - @Environment(EnvType.CLIENT) public class ModMenuHelper { diff --git a/proguard.conf b/proguard.conf index 7079fd3..e331e33 100644 --- a/proguard.conf +++ b/proguard.conf @@ -1 +1,3 @@ --ignorewarnings \ No newline at end of file +-ignorewarnings + +-keep class net.fabricmc.api.** { *; } \ No newline at end of file