-injars in.jar
-outjars out.jar

-libraryjars 'C:\Program Files\Java\jre1.8.0_221\lib\rt.jar'
-libraryjars lib

-dontskipnonpubliclibraryclassmembers
-dontshrink
-optimizations code/simplification/arithmetic,code/simplification/string,code/simplification/math
-printmapping mapping.txt
-obfuscationdictionary dictionary-members.txt
-classobfuscationdictionary dictionary-classes.txt
-useuniqueclassmembernames
-flattenpackagehierarchy com.volmit.iris
-repackageclasses com.volmit.iris
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
-adaptclassstrings
-adaptresourcefilecontents **.properties,META-INF/MANIFEST.MF,**.yml
-verbose



-keepclasseswithmembers class com.volmit.iris.** {
    <fields>;
    <methods>;
}

-keepclassmembers,allowshrinking class com.volmit.iris.object.* {
    <fields>;
}

# Also keep - Enumerations. Keep the special static methods that are required in
# enumeration classes.
-keepclassmembers enum  * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# Also keep - Database drivers. Keep all implementations of java.sql.Driver.
-keep class * extends java.sql.Driver

# Also keep - Swing UI L&F. Keep all extensions of javax.swing.plaf.ComponentUI,
# along with the special 'createUI' method.
-keep class * extends javax.swing.plaf.ComponentUI {
    public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);
}

# Keep - Native method names. Keep all native class/method names.
-keepclasseswithmembers,includedescriptorclasses,allowshrinking class * {
    native <methods>;
}

-assumenosideeffects public class * extends org.bukkit.plugin.java.JavaPlugin {
    <methods>;
    public <methods>;
}

-assumenosideeffects public class * extends com.volmit.iris.util.VolmitPlugin {
    public <methods>;
}
