1+ plugins {
2+ id ' java-library'
3+ id ' maven-publish'
4+ }
5+
6+ sourceSets {
7+ main {
8+ java {
9+ srcDirs rootProject. file(' src/main/java' ), rootProject. file(' projects/neotenet/src/main/java' )
10+ }
11+ resources {
12+ srcDirs rootProject. file(' src/main/resources' ), rootProject. file(' src/generated/resources' ), rootProject. file(' projects/neotenet/src/main/resources' )
13+ }
14+ }
15+ client {
16+ java {
17+ srcDirs rootProject. file(' src/client/java' )
18+ }
19+ }
20+ }
21+
22+ dependencies {
23+ for (var asmModule : [" org.ow2.asm:asm" , " org.ow2.asm:asm-commons" , " org.ow2.asm:asm-tree" , " org.ow2.asm:asm-util" , " org.ow2.asm:asm-analysis" ]) {
24+ compileOnly(asmModule) {
25+ // Vanilla ships with ASM 9.3 transitively (via their OpenID connect library dependency), we require
26+ // ASM in a more recent version and have to strictly require this to override the strict Minecraft version.
27+ version {
28+ strictly project. asm_version
29+ }
30+ }
31+ }
32+ compileOnly (" net.neoforged.fancymodloader:loader:${ project.fancy_mod_loader_version} " ) {
33+ exclude group : ' org.slf4j'
34+ exclude group : ' net.fabricmc'
35+ // MC currently (as of 26.2-pre-1) uses the Unsafe-using artifact of LWJGL.
36+ // To avoid overriding that artifact, exclude it from here and rely on minecraft-dependencies to provide it.
37+ // We must specifically exclude the main LWJGL module, since FML depends on lwjgl-tinyfd.
38+ exclude group : ' org.lwjgl' , module : ' lwjgl'
39+ }
40+ compileOnly (" net.neoforged.fancymodloader:earlydisplay:${ project.fancy_mod_loader_version} " ) {
41+ exclude group : ' org.lwjgl'
42+ exclude group : ' org.slf4j'
43+ exclude group : ' net.fabricmc'
44+ }
45+ compileOnly " net.neoforged:accesstransformers:${ project.accesstransformers_version} "
46+ compileOnly " net.neoforged:bus:${ project.eventbus_version} "
47+ compileOnly " net.neoforged:mergetool:${ project.mergetool_version} :api"
48+ compileOnly " com.electronwill.night-config:core:${ project.nightconfig_version} "
49+ compileOnly " com.electronwill.night-config:toml:${ project.nightconfig_version} "
50+ compileOnly " org.apache.maven:maven-artifact:${ project.apache_maven_artifact_version} "
51+ compileOnly " net.jodah:typetools:${ project.typetools_version} "
52+ compileOnly " net.minecrell:terminalconsoleappender:${ project.terminalconsoleappender_version} "
53+ compileOnly(" net.fabricmc:sponge-mixin:${ project.mixin_version} " ) { transitive = false }
54+ compileOnly (" net.neoforged:JarJarSelector:${ project.jarjar_version} " ) {
55+ exclude group : ' org.slf4j'
56+ }
57+ compileOnly (" net.neoforged:JarJarMetadata:${ project.jarjar_version} " ) {
58+ exclude group : ' org.slf4j'
59+ }
60+
61+ // craftbukkit
62+ compileOnly ' javax.inject:javax.inject:1'
63+ compileOnly ' com.googlecode.json-simple:json-simple:1.1.1'
64+ compileOnly ' org.xerial:sqlite-jdbc:3.51.3.0'
65+ compileOnly ' com.mysql:mysql-connector-j:9.6.0'
66+ compileOnly ' org.apache.logging.log4j:log4j-iostreams:2.26.0'
67+ compileOnly ' org.apache.logging.log4j:log4j-core:2.26.0'
68+ compileOnly ' org.apache.logging.log4j:log4j-slf4j2-impl:2.26.0'
69+ compileOnly ' org.jline:jline:3.30.4'
70+ // spigot
71+ compileOnly ' commons-codec:commons-codec:1.22.0'
72+ compileOnly ' commons-lang:commons-lang:2.6'
73+ compileOnly ' org.apache.commons:commons-lang3:3.20.0'
74+ compileOnly ' org.apache.httpcomponents:httpclient:4.5.14'
75+ compileOnly ' org.apache.httpcomponents:httpcore:4.4.16'
76+ compileOnly ' net.sf.jopt-simple:jopt-simple:5.0.4'
77+ // bukkit
78+ compileOnly ' org.yaml:snakeyaml:2.6'
79+ // LibraryLoader start
80+ compileOnly ' org.checkerframework:checker-qual:3.49.2'
81+ compileOnly ' org.eclipse.sisu:org.eclipse.sisu.inject:0.9.0.M2'
82+ compileOnly ' org.codehaus.plexus:plexus-interpolation:1.26'
83+ compileOnly ' org.codehaus.plexus:plexus-utils:4.0.3'
84+ compileOnly ' com.google.protobuf:protobuf-java:4.28.2'
85+ compileOnly " org.apache.maven:maven-artifact:3.9.9"
86+ compileOnly ' org.apache.maven:maven-builder-support:3.9.6'
87+ compileOnly ' org.apache.maven:maven-model:3.9.6'
88+ compileOnly ' org.apache.maven:maven-model-builder:3.9.6'
89+ compileOnly ' org.apache.maven:maven-repository-metadata:3.9.6'
90+ compileOnly ' org.apache.maven:maven-resolver-provider:3.9.6'
91+
92+ compileOnly ' org.apache.maven.resolver:maven-resolver-api:1.9.18'
93+ compileOnly ' org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18'
94+ compileOnly ' org.apache.maven.resolver:maven-resolver-impl:1.9.18'
95+ compileOnly ' org.apache.maven.resolver:maven-resolver-named-locks:1.9.18'
96+ compileOnly ' org.apache.maven.resolver:maven-resolver-spi:1.9.18'
97+ compileOnly ' org.apache.maven.resolver:maven-resolver-transport-http:1.9.18'
98+ compileOnly ' org.apache.maven.resolver:maven-resolver-util:1.9.18'
99+ // LibraryLoader end
100+
101+ // Vanilla Lib Start
102+ compileOnly ' com.mojang:authlib:9.0.75'
103+ compileOnly ' com.mojang:datafixerupper:10.0.21'
104+ compileOnly ' com.mojang:jtracy:1.0.37'
105+ compileOnly ' it.unimi.dsi:fastutil:8.5.18'
106+ // Vanilla Lib end
107+ compileOnly " org.jetbrains:annotations:${ project.jetbrains_annotations_version} "
108+ }
109+
110+ tasks. withType(JavaCompile ). configureEach {
111+ it. options. release = 25
112+ options. encoding = ' UTF-8'
113+ options. warnings = false
114+ options. compilerArgs << " -Xlint:-removal" << " -Xlint:-deprecation" << " -Xlint:-dep-ann" << " -Xlint:-varargs" << " -Xdiags:verbose"
115+ }
0 commit comments