-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathproguard.pro
61 lines (52 loc) · 2.41 KB
/
proguard.pro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
-ignorewarnings
-dontnote
-optimizationpasses 10
-optimizations !class/merging/*,!method/marking/private,!method/marking/static,!*/specialization/*,!method/removal/parameter
-allowaccessmodification
#noinspection ShrinkerInvalidFlags
-optimizeaggressively
-repackageclasses zume
-keepattributes Runtime*Annotations,AnnotationDefault # keep annotations
-keep public class dev.nolij.zume.api.** { public *; } # public APIs
-keepclassmembers class dev.nolij.zume.impl.config.ZumeConfigImpl { public <fields>; } # dont rename config fields
-keepclassmembers,allowoptimization class dev.nolij.zume.ZumeMixinPlugin {
public *;
}
-keep @org.spongepowered.asm.mixin.Mixin class * {
@org.spongepowered.asm.mixin.Overwrite *;
@org.spongepowered.asm.mixin.Shadow *;
}
-keepclassmembers,allowobfuscation @org.spongepowered.asm.mixin.Mixin class * { *; }
# Forge entrypoints
-keep,allowobfuscation @*.*.fml.common.Mod class dev.nolij.zume.** {
public <init>(...);
}
# Platform implementations
# Forge Event Subscribers
-keepclasseswithmembers,allowobfuscation class dev.nolij.zume.** {
@*.*.fml.common.eventhandler.SubscribeEvent <methods>;
}
-keepclasseswithmembers,allowobfuscation class dev.nolij.zume.** {
@*.*.fml.common.Mod$EventHandler <methods>;
}
-adaptclassstrings
-adaptresourcefilecontents fabric.mod.json
# screens
-keepclassmembers class dev.nolij.zume.** extends net.minecraft.class_437,
net.minecraft.client.gui.screens.Screen,
net.minecraft.client.gui.screen.Screen {
!private <methods>;
}
# Legacy Forge config providers
-keep,allowoptimization,allowobfuscation class dev.nolij.zume.** extends *.*.client.gui.ForgeGuiFactory
-keepclassmembers,allowoptimization class dev.nolij.zume.** extends *.*.fml.client.config.GuiConfig,
*.*.client.gui.ForgeGuiFactory {
public <methods>;
}
# Fabric entrypoints
-keep,allowoptimization,allowobfuscation class dev.nolij.zume.FabricZumeBootstrapper
-keep,allowoptimization,allowobfuscation class dev.nolij.zume.modern.integration.modmenu.ZumeModMenuIntegration
-keep @dev.nolij.zumegradle.proguard.ProGuardKeep class * { *; }
-keepclassmembers class * { @dev.nolij.zumegradle.proguard.ProGuardKeep *; }
-keep,allowobfuscation @dev.nolij.zumegradle.proguard.ProGuardKeep$WithObfuscation class * { *; }
-keepclassmembers,allowobfuscation class * { @dev.nolij.zumegradle.proguard.ProGuardKeep$WithObfuscation *; }