@@ -93,6 +93,22 @@ val vaultVersion = "1.7.1"
9393val levelVersion = " 2.21.3"
9494val placeholderapiVersion = " 2.11.7"
9595val myworldsVersion = " 1.19.3-v1"
96+ val awaitilityVersion = " 4.2.2"
97+ val mythicDistVersion = " 5.9.5"
98+ val multiverseCore5Version = " 5.0.0-SNAPSHOT"
99+ val multiverseCore4Version = " 4.3.16"
100+ val langUtilsVersion = " 3.2.2"
101+ val slimefun4Version = " RC-37"
102+ val itemsAdderVersion = " 4.0.2-beta-release-11"
103+ val fancyNpcsVersion = " 2.4.4"
104+ val znpcsplusApiVersion = " 2.0.0-SNAPSHOT"
105+ val fancyHologramsVersion = " 2.4.1"
106+ val commonsLangVersion = " 2.6"
107+ val jaxbApiVersion = " 2.3.0"
108+ val gsonRecordTypeAdapterFactoryVersion = " 0.3.0"
109+ val jdtAnnotationVersion = " 2.2.600"
110+ val multilibVersion = " 1.1.13"
111+ val oraxenVersion = " 1.193.1"
96112
97113// Store versions in extra properties for resource filtering (used in plugin.yml, config.yml)
98114extra[" java.version" ] = javaVersion
@@ -176,59 +192,40 @@ dependencies {
176192 testImplementation(" org.junit.jupiter:junit-jupiter-api" )
177193 testRuntimeOnly(" org.junit.jupiter:junit-jupiter-engine" )
178194 testRuntimeOnly(" org.junit.platform:junit-platform-launcher:$junitVersion " )
179- testImplementation(" org.mockito:mockito-junit-jupiter:$mockitoVersion " ) // Mocking framework
195+ testImplementation(" org.mockito:mockito-junit-jupiter:$mockitoVersion " )
180196 testImplementation(" org.mockito:mockito-core:$mockitoVersion " )
181- testImplementation(" com.github.MockBukkit:MockBukkit:$mockBukkitVersion " ) // Bukkit mock server
182- testImplementation(" org.awaitility:awaitility:4.2.2 " ) // Async testing helper
183- testImplementation(" io.papermc.paper:paper-api:1.21.10-R0.1-SNAPSHOT " ) // Paper API for tests
197+ testImplementation(" com.github.MockBukkit:MockBukkit:$mockBukkitVersion " )
198+ testImplementation(" org.awaitility:awaitility:$awaitilityVersion " )
199+ testImplementation(" io.papermc.paper:paper-api:$paperVersion " )
184200 testImplementation(" com.github.MilkBowl:VaultAPI:$vaultVersion " )
185201 testImplementation(" me.clip:placeholderapi:$placeholderapiVersion " )
202+ testImplementation(" commons-lang:commons-lang:$commonsLangVersion " )
186203
187- // --- Provided/Compile-Only Dependencies: Available at compile time but provided by server ---
188- // These are NOT shaded into the final JAR (the server provides them at runtime)
189- // compileOnly("io.papermc.paper:paper-api:1.21.10-R0.1-SNAPSHOT") // Bukkit/Spigot/Paper API
190- paperweight.paperDevBundle(" 1.21.10-R0.1-SNAPSHOT" )
191-
192- // Spigot NMS - Used for internal Minecraft code (chunk deletion and pasting)
204+ // --- Compile Only Dependencies: Provided by the server at runtime ---
193205 compileOnly(" org.spigotmc:spigot:$spigotVersion " ) {
194- exclude(group = " org.spigotmc" , module = " spigot-api" ) // Already provided by Paper
206+ exclude(group = " org.spigotmc" , module = " spigot-api" )
195207 }
196-
197- // Optional plugins that may be installed on the server
198208 compileOnly(" org.mongodb:mongodb-driver:$mongodbVersion " )
199- compileOnly(" com.zaxxer:HikariCP:$hikaricpVersion " ) // Database connection pooling
200- compileOnly(" com.github.MilkBowl:VaultAPI:$vaultVersion " ) // Economy/permission API
201- compileOnly(" me.clip:placeholderapi:$placeholderapiVersion " ) // Placeholder API
209+ compileOnly(" com.zaxxer:HikariCP:$hikaricpVersion " )
210+ compileOnly(" com.github.MilkBowl:VaultAPI:$vaultVersion " )
211+ compileOnly(" me.clip:placeholderapi:$placeholderapiVersion " )
202212 compileOnly(" com.bergerkiller.bukkit:MyWorlds:$myworldsVersion " ) {
203213 exclude(group = " org.spigotmc" , module = " spigot-api" )
204214 }
205- compileOnly(" io.lumine:Mythic-Dist:5.9.5 " ) // Mythic Mobs
206- compileOnly(" org.mvplugins.multiverse.core:multiverse-core:5.0.0-SNAPSHOT " )
207- compileOnly(" com.onarandombox.multiversecore:multiverse-core:4.3.16 " ) {
215+ compileOnly(" io.lumine:Mythic-Dist:$mythicDistVersion " )
216+ compileOnly(" org.mvplugins.multiverse.core:multiverse-core:$multiverseCore5Version " )
217+ compileOnly(" com.onarandombox.multiversecore:multiverse-core:$multiverseCore4Version " ) {
208218 exclude(group = " org.spigotmc" , module = " spigot-api" )
209219 }
210- compileOnly(" com.github.apachezy:LangUtils:3.2.2" )
211- compileOnly(" com.github.Slimefun:Slimefun4:RC-37" ) // Slimefun custom items
212- compileOnly(" dev.lone:api-itemsadder:4.0.2-beta-release-11" ) // ItemsAdder custom items
213- compileOnly(" de.oliver:FancyNpcs:2.4.4" ) // NPC plugin
214- compileOnly(" lol.pyr:znpcsplus-api:2.0.0-SNAPSHOT" ) // Alternative NPC plugin
215- compileOnly(" de.oliver:FancyHolograms:2.4.1" ) // Hologram plugin
216- compileOnly(" world.bentobox:level:2.21.3-SNAPSHOT" ) // BentoBox Level addon
217-
218- // Apache Commons Lang - utility library
219- compileOnly(" commons-lang:commons-lang:2.6" )
220- testImplementation(" commons-lang:commons-lang:2.6" )
221-
222- // --- Implementation Dependencies: Shaded into final JAR ---
223- // These are embedded in the final JAR since they're not commonly available
224- implementation(" org.bstats:bstats-bukkit:$bstatsVersion " ) // Plugin metrics
225- implementation(" javax.xml.bind:jaxb-api:2.3.0" ) // XML serialization
226- implementation(" com.github.Marcono1234:gson-record-type-adapter-factory:0.3.0" ) // JSON serialization
227- implementation(" org.eclipse.jdt:org.eclipse.jdt.annotation:2.2.600" ) // Nullability annotations
228- implementation(" com.github.puregero:multilib:1.1.13" ) // Multi-library support
229-
230- // Oraxen with custom exclusions (embed only what we need)
231- compileOnly(" io.th0rgal:oraxen:1.193.1" ) {
220+ compileOnly(" com.github.apachezy:LangUtils:$langUtilsVersion " )
221+ compileOnly(" com.github.Slimefun:Slimefun4:$slimefun4Version " )
222+ compileOnly(" dev.lone:api-itemsadder:$itemsAdderVersion " )
223+ compileOnly(" de.oliver:FancyNpcs:$fancyNpcsVersion " )
224+ compileOnly(" lol.pyr:znpcsplus-api:$znpcsplusApiVersion " )
225+ compileOnly(" de.oliver:FancyHolograms:$fancyHologramsVersion " )
226+ compileOnly(" world.bentobox:level:$levelVersion -SNAPSHOT" )
227+ compileOnly(" commons-lang:commons-lang:$commonsLangVersion " )
228+ compileOnly(" io.th0rgal:oraxen:$oraxenVersion " ) {
232229 exclude(group = " me.gabytm.util" , module = " actions-spigot" )
233230 exclude(group = " org.jetbrains" , module = " annotations" )
234231 exclude(group = " com.ticxo" , module = " PlayerAnimator" )
@@ -238,9 +235,19 @@ dependencies {
238235 exclude(group = " org.bstats" , module = " bstats-bukkit" )
239236 exclude(group = " com.jeff-media" , module = " custom-block-data" )
240237 exclude(group = " com.jeff-media" , module = " persistent-data-serializer" )
241- exclude(group = " com.jeff_media " , module = " MorePersistentDataTypes" )
238+ exclude(group = " com.jeff-media " , module = " MorePersistentDataTypes" )
242239 exclude(group = " gs.mclo" , module = " java" )
243240 }
241+
242+ // --- Implementation Dependencies: Shaded into final JAR ---
243+ implementation(" org.bstats:bstats-bukkit:$bstatsVersion " )
244+ implementation(" javax.xml.bind:jaxb-api:$jaxbApiVersion " )
245+ implementation(" com.github.Marcono1234:gson-record-type-adapter-factory:$gsonRecordTypeAdapterFactoryVersion " )
246+ implementation(" org.eclipse.jdt:org.eclipse.jdt.annotation:$jdtAnnotationVersion " )
247+ implementation(" com.github.puregero:multilib:$multilibVersion " )
248+
249+ // --- Paperweight Development Bundle (Provided by plugin development tools) ---
250+ paperweight.paperDevBundle(paperVersion)
244251}
245252
246253paperweight {
0 commit comments