Compare commits

..
232 Commits
Author SHA1 Message Date
Adrian 681380680c Merge pull request #412 from MiniPlaceholders/renovate/org.spongepowered.gradle.plugin-2.x
chore(deps): update plugin spongegradle to v2.5.1
2026-10-26 08:46:49 -05:00
Adrian 907dd9b634 Merge pull request #413 from MiniPlaceholders/renovate/logback-monorepo
fix(deps): update dependency ch.qos.logback:logback-classic to v1.6.6
2026-10-26 08:45:15 -05:00
renovate[bot] b305dd952e fix(deps): update dependency ch.qos.logback:logback-classic to v1.6.6 2026-10-25 18:01:38 +00:00
renovate[bot] 7cd1da177e chore(deps): update plugin spongegradle to v2.5.1 2026-10-25 05:09:59 +00:00
Adrian a906efb081 Merge pull request #406 from MiniPlaceholders/renovate/guava-monorepo
fix(deps): update dependency com.google.guava:guava to v33.7.2-jre
2026-10-20 21:45:42 -05:00
renovate[bot] aab13f8c7e fix(deps): update dependency com.google.guava:guava to v33.7.2-jre 2026-10-20 21:32:20 +00:00
Adrian d6220c99f7 Merge pull request #404 from MiniPlaceholders/renovate/adventuremodded
fix(deps): update dependency net.kyori:adventure-platform-fabric to v7.2.0
2026-10-20 16:23:11 -05:00
Adrian bbbc32f57c Merge pull request #403 from MiniPlaceholders/renovate/net.fabricmc.fabric-loom-1.x
chore(deps): update plugin fabric-loom to v1.18.4
2026-10-20 16:22:35 -05:00
Adrian a6f12f2dde Merge pull request #407 from MiniPlaceholders/renovate/slf4j-monorepo
fix(deps): update dependency org.slf4j:slf4j-api to v2.0.20
2026-10-20 16:22:33 -05:00
Adrian 79db257b98 Merge pull request #405 from MiniPlaceholders/renovate/logback-monorepo
fix(deps): update dependency ch.qos.logback:logback-classic to v1.6.5
2026-10-20 16:16:24 -05:00
Adrian 780c80cd1c Merge pull request #410 from MiniPlaceholders/renovate/org.jetbrains.kotlin.jvm-2.x
chore(deps): update plugin org.jetbrains.kotlin.jvm to v2.4.21
2026-10-20 16:15:21 -05:00
Adrian 0568dc5814 Merge pull request #409 from MiniPlaceholders/renovate/kotlin-monorepo
fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.4.21
2026-10-20 16:13:45 -05:00
Adrian 83ea33d41e Merge pull request #402 from MiniPlaceholders/renovate/velocity
fix(deps): update dependency com.velocitypowered:velocity-api to v4.3.0
2026-10-20 16:06:56 -05:00
Adrian 083151a5e2 Merge pull request #411 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.20.1
2026-10-20 16:05:36 -05:00
renovate[bot] 6b97c3517d fix(deps): update dependency net.fabricmc:fabric-loader to v0.20.1 2026-10-20 20:53:32 +00:00
renovate[bot] 3585262807 fix(deps): update dependency com.velocitypowered:velocity-api to v4.3.0 2026-10-20 20:53:27 +00:00
Adrian 0a0810c6cb Merge pull request #376 from MiniPlaceholders/renovate/minestom
fix(deps): update dependency net.minestom:minestom to v2026.10.07-26.2
2026-10-20 15:52:01 -05:00
renovate[bot] 71a5dab3ec chore(deps): update plugin org.jetbrains.kotlin.jvm to v2.4.21 2026-10-20 20:42:15 +00:00
Adrian 87d7aa27d8 Merge pull request #408 from MiniPlaceholders/renovate/gradle-9.x
chore(deps): update gradle to v9.8.2
2026-10-20 15:41:18 -05:00
renovate[bot] 89970776e5 chore(deps): update gradle to v9.8.2 2026-10-20 09:59:14 +00:00
renovate[bot] c55f2cc001 fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.4.21 2026-10-13 11:57:31 +00:00
renovate[bot] 9cdcd643f8 chore(deps): update plugin fabric-loom to v1.18.4 2026-10-10 14:39:14 +00:00
renovate[bot] 51b9a7be9f fix(deps): update dependency net.minestom:minestom to v2026.10.07-26.2 2026-10-08 02:06:29 +00:00
renovate[bot] 5d39c94d17 fix(deps): update dependency org.slf4j:slf4j-api to v2.0.20 2026-10-04 16:42:20 +00:00
renovate[bot] ae0a4e7bf0 fix(deps): update dependency ch.qos.logback:logback-classic to v1.6.5 2026-10-03 07:00:26 +00:00
renovate[bot] 7ca1506171 fix(deps): update dependency net.kyori:adventure-platform-fabric to v7.2.0 2026-09-17 02:30:31 +00:00
Adrian Gonzales aad471905b ci: Fixed adventure javadocs 2026-09-07 14:43:33 -05:00
Adrian Gonzales 8c8a6b5d63 Merge remote-tracking branch 'origin/main' 2026-09-07 14:24:16 -05:00
Adrian Gonzales d5e8eb6063 release: Version 3.2.1 2026-09-07 14:24:06 -05:00
Adrian 6cab3dd85c Merge pull request #401 from MiniPlaceholders/renovate/slf4j-monorepo
fix(deps): update dependency org.slf4j:slf4j-api to v2.0.19
2026-09-07 14:19:07 -05:00
renovate[bot] d4d2847f8a fix(deps): update dependency org.slf4j:slf4j-api to v2.0.19 2026-09-07 19:15:00 +00:00
Adrian efb5fd6e75 Merge pull request #371 from MiniPlaceholders/update/adventure/5.0.x
Adventure 5
2026-09-07 14:14:01 -05:00
Adrian Gonzales 6d662ede17 fix: Updated minimum supported Fabric version 2026-09-07 14:11:31 -05:00
Adrian Gonzales 254b586312 Merge branch 'main' into update/adventure/5.0.x
# Conflicts:
#	gradle/libs.versions.toml
2026-09-07 14:01:38 -05:00
Adrian 7336e25a33 Merge pull request #385 from MiniPlaceholders/renovate/major-adventuremodded
fix(deps): update dependency net.kyori:adventure-platform-fabric to v7
2026-09-07 13:59:20 -05:00
Adrian 9b639d8dcc Merge pull request #399 from MiniPlaceholders/renovate/kotlin-monorepo
fix(deps): update kotlin monorepo to v2.4.20
2026-09-07 13:32:56 -05:00
renovate[bot] 34c76287ea fix(deps): update kotlin monorepo to v2.4.20 2026-09-07 13:58:48 +00:00
Adrian 5211b86ad7 Merge pull request #398 from MiniPlaceholders/renovate/actions-setup-java-6.x
chore(deps): update actions/setup-java action to v6
2026-09-04 20:33:09 -05:00
Adrian 7fff546717 Merge pull request #397 from MiniPlaceholders/renovate/runtask
fix(deps): update runtask to v3.1.0
2026-09-04 20:33:00 -05:00
renovate[bot] 69de4bf2a2 chore(deps): update actions/setup-java action to v6 2026-09-05 00:14:43 +00:00
renovate[bot] d84cf2aed5 fix(deps): update runtask to v3.1.0 2026-09-05 00:14:36 +00:00
Adrian 5c12929b08 Merge pull request #395 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.5
2026-09-04 19:13:50 -05:00
Adrian 2cb82feb12 Merge pull request #396 from MiniPlaceholders/renovate/guava-monorepo
fix(deps): update dependency com.google.guava:guava to v33.7.1-jre
2026-09-04 19:13:41 -05:00
Adrian 1be3d21dc6 Merge pull request #386 from MiniPlaceholders/renovate/net.fabricmc.fabric-loom-1.x
chore(deps): update plugin fabric-loom to v1.17.20
2026-09-04 17:05:01 -05:00
Adrian 52ebc4edc1 Merge pull request #388 from MiniPlaceholders/renovate/junit-framework-monorepo
fix(deps): update dependency org.junit:junit-bom to v6.1.3
2026-09-04 17:04:47 -05:00
renovate[bot] abb4af55eb fix(deps): update dependency com.google.guava:guava to v33.7.1-jre 2026-09-04 22:04:44 +00:00
renovate[bot] ecb37ce3c5 fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.5 2026-09-04 22:04:38 +00:00
Adrian a1783d2bb1 Merge pull request #390 from MiniPlaceholders/renovate/major-velocity
fix(deps): update dependency com.velocitypowered:velocity-api to v4
2026-09-04 17:04:33 -05:00
Adrian 1c66606205 Merge pull request #391 from MiniPlaceholders/renovate/shadow
fix(deps): update dependency com.gradleup.shadow:shadow-gradle-plugin to v9.6.1
2026-09-04 17:04:17 -05:00
Adrian 34c53e081d Merge pull request #392 from MiniPlaceholders/renovate/logback-monorepo
fix(deps): update dependency ch.qos.logback:logback-classic to v1.6.3
2026-09-04 17:04:07 -05:00
Adrian 9ebececf7d Merge pull request #394 from MiniPlaceholders/renovate/gradle-9.x
chore(deps): update gradle to v9.7.1
2026-09-04 17:03:55 -05:00
renovate[bot] 0cc22db5b5 chore(deps): update gradle to v9.7.1 2026-09-03 19:39:13 +00:00
renovate[bot] 6cf533d711 fix(deps): update dependency com.velocitypowered:velocity-api to v4 2026-08-27 00:08:05 +00:00
renovate[bot] c98b4e77d4 chore(deps): update plugin fabric-loom to v1.17.20 2026-08-25 23:42:17 +00:00
renovate[bot] 20ee1003dd fix(deps): update dependency ch.qos.logback:logback-classic to v1.6.3 2026-08-16 12:00:38 +00:00
renovate[bot] b69ca1a465 fix(deps): update dependency net.kyori:adventure-platform-fabric to v7 2026-08-11 20:54:40 +00:00
renovate[bot] cff2b5843d fix(deps): update dependency com.gradleup.shadow:shadow-gradle-plugin to v9.6.1 2026-08-11 20:53:37 +00:00
renovate[bot] e8a165c7ba fix(deps): update dependency org.junit:junit-bom to v6.1.3 2026-08-07 19:54:21 +00:00
Adrian b08e9838aa Merge pull request #393 from MiniPlaceholders/renovate/jspecify
fix(deps): update dependency org.jspecify:jspecify to v1.0.1
2026-08-01 09:07:41 -05:00
renovate[bot] cec7f562db fix(deps): update dependency org.jspecify:jspecify to v1.0.1 2026-08-01 05:22:23 +00:00
Adrian 7e391c054f Merge pull request #389 from MiniPlaceholders/renovate/kotlin-monorepo
fix(deps): update kotlin monorepo to v2.4.10
2026-07-14 11:49:35 -05:00
Adrian 342d36afa5 Merge pull request #387 from MiniPlaceholders/renovate/velocity
fix(deps): update dependency com.velocitypowered:velocity-api to v3.5.1
2026-07-14 11:49:18 -05:00
renovate[bot] 35a5e8a472 fix(deps): update kotlin monorepo to v2.4.10 2026-07-14 10:40:26 +00:00
renovate[bot] 5bc31084d0 fix(deps): update dependency com.velocitypowered:velocity-api to v3.5.1 2026-07-11 19:03:59 +00:00
Adrian 12c1ebcdbf Merge pull request #384 from MiniPlaceholders/renovate/actions-checkout-7.x
chore(deps): update actions/checkout action to v7
2026-07-10 00:02:14 -05:00
Adrian 50bb56140a Merge pull request #383 from MiniPlaceholders/renovate/com.vanniktech.maven.publish-0.x
chore(deps): update plugin com.vanniktech.maven.publish to v0.37.0
2026-07-10 00:02:04 -05:00
Adrian 59d48b7397 Merge pull request #379 from MiniPlaceholders/renovate/logback-monorepo
fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.38
2026-07-10 00:01:55 -05:00
Adrian e946edaa35 Merge pull request #377 from MiniPlaceholders/renovate/net.fabricmc.fabric-loom-1.x
chore(deps): update plugin fabric-loom to v1.16.3
2026-07-10 00:01:46 -05:00
Adrian 798cf0913e Merge pull request #380 from MiniPlaceholders/renovate/shadow
fix(deps): update dependency com.gradleup.shadow:shadow-gradle-plugin to v9.5.1
2026-07-09 23:57:30 -05:00
Adrian 0149d2e677 Merge pull request #381 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.3
2026-07-09 23:54:05 -05:00
Adrian 70a95f16e6 Merge pull request #378 from MiniPlaceholders/renovate/junit-framework-monorepo
fix(deps): update dependency org.junit:junit-bom to v6.1.1
2026-07-09 23:53:02 -05:00
renovate[bot] 1e9d7d00e4 chore(deps): update actions/checkout action to v7 2026-07-10 04:52:38 +00:00
Adrian b01afe319e Merge pull request #375 from MiniPlaceholders/renovate/gradle-9.x
chore(deps): update gradle to v9.6.1
2026-07-09 23:51:31 -05:00
renovate[bot] def00515a9 chore(deps): update plugin com.vanniktech.maven.publish to v0.37.0 2026-07-10 04:49:04 +00:00
renovate[bot] 7d7bf3f326 fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.38 2026-07-10 04:48:58 +00:00
renovate[bot] d195095420 chore(deps): update plugin fabric-loom to v1.16.3 2026-07-10 04:48:54 +00:00
Adrian e3803adb80 Merge pull request #382 from MiniPlaceholders/renovate/kotlin-monorepo
fix(deps): update kotlin monorepo to v2.4.0
2026-07-09 23:48:06 -05:00
renovate[bot] 933f976957 fix(deps): update dependency com.gradleup.shadow:shadow-gradle-plugin to v9.5.1 2026-07-06 16:06:04 +00:00
renovate[bot] 522386eeb0 fix(deps): update dependency org.junit:junit-bom to v6.1.1 2026-06-28 10:15:20 +00:00
renovate[bot] 12dc0c0a64 chore(deps): update gradle to v9.6.1 2026-06-26 17:09:16 +00:00
renovate[bot] 7c8d643099 fix(deps): update kotlin monorepo to v2.4.0 2026-06-03 12:01:53 +00:00
renovate[bot] 2dd18817b3 fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.3 2026-06-01 21:55:51 +00:00
Adrian 650de3993f Merge pull request #374 from MiniPlaceholders/renovate/kotlin-monorepo
fix(deps): update kotlin monorepo to v2.3.21
2026-04-24 03:11:32 -05:00
renovate[bot] e88793b661 fix(deps): update kotlin monorepo to v2.3.21 2026-04-23 11:44:31 +00:00
Adrian Gonzales c75ebb85d6 fix: Readded support for Adventure 4.x 2026-04-17 01:23:34 -05:00
Adrian Gonzales 043796fb3b feat: Updated to Adventure 5.0.1 2026-04-17 01:09:12 -05:00
Adrian ea761a0dd7 Merge pull request #368 from MiniPlaceholders/renovate/adventuremodded
fix(deps): update dependency net.kyori:adventure-platform-fabric to v6.9.0
2026-04-17 00:55:53 -05:00
Adrian e600489031 Merge pull request #369 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.2
2026-04-17 00:55:41 -05:00
renovate[bot] e575fc557e fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.2 2026-04-17 05:48:07 +00:00
Adrian 5c1e8f81fc Merge pull request #367 from MiniPlaceholders/renovate/guava-monorepo
fix(deps): update dependency com.google.guava:guava to v33.6.0-jre
2026-04-17 00:47:32 -05:00
Adrian 4eaf58be53 Merge pull request #366 from MiniPlaceholders/renovate/minestom
fix(deps): update dependency net.minestom:minestom to v2026.04.13-1.21.11
2026-04-17 00:47:22 -05:00
renovate[bot] 2f6da59161 fix(deps): update dependency net.kyori:adventure-platform-fabric to v6.9.0 2026-04-15 05:37:48 +00:00
renovate[bot] ee57ec19fa fix(deps): update dependency com.google.guava:guava to v33.6.0-jre 2026-04-14 20:33:16 +00:00
renovate[bot] cc1a96c58b fix(deps): update dependency net.minestom:minestom to v2026.04.13-1.21.11 2026-04-14 00:31:23 +00:00
Adrian 472804b029 Merge pull request #364 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.1
2026-04-09 14:55:32 -05:00
renovate[bot] a9b8f03beb fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.1 2026-04-09 15:05:10 +00:00
Adrian 9b5bf06d71 Merge pull request #365 from MiniPlaceholders/renovate/net.fabricmc.fabric-loom-1.x
chore(deps): update plugin fabric-loom to v1.16.1
2026-04-06 18:01:14 -05:00
renovate[bot] 21e36ecdfa chore(deps): update plugin fabric-loom to v1.16.1 2026-04-05 17:33:26 +00:00
Adrian 8097cf1b22 Merge pull request #361 from MiniPlaceholders/renovate/fabric.api
fix(deps): update dependency net.fabricmc.fabric-api:fabric-api to v0.145.0+26.1
2026-03-31 12:32:55 -05:00
Adrian Gonzales 95e2beae96 fix(publish): Fixed common and connect inclusion in minestom module
resolves #362
2026-03-31 12:27:13 -05:00
renovate[bot] f6a0c88577 fix(deps): update dependency net.fabricmc.fabric-api:fabric-api to v0.145.0+26.1 2026-03-31 17:25:38 +00:00
Adrian d7c619e8c4 Merge pull request #358 from MiniPlaceholders/renovate/minestom
fix(deps): update dependency net.minestom:minestom to v2026.03.25-1.21.11
2026-03-27 14:13:45 -05:00
Adrian fd1e4896ac Merge pull request #360 from MiniPlaceholders/renovate/shadow
fix(deps): update dependency com.gradleup.shadow:shadow-gradle-plugin to v9.4.1
2026-03-27 14:13:36 -05:00
Adrian Gonzales 1cfbcbad4c misc: 3.2.1-SNAPSHOT 2026-03-27 13:14:52 -05:00
Adrian Gonzales 3a2ba24f3d release: Version 3.2.0 2026-03-27 13:03:56 -05:00
renovate[bot] 3aa8519e6a fix(deps): update dependency com.gradleup.shadow:shadow-gradle-plugin to v9.4.1 2026-03-27 13:45:37 +00:00
renovate[bot] fbdfc9fd1b fix(deps): update dependency net.minestom:minestom to v2026.03.25-1.21.11 2026-03-26 20:49:41 +00:00
Adrian Gonzales 38592abaa3 misc: Updated to Velocity 3.5.0 and reorganized versions catalog 2026-03-26 15:48:36 -05:00
Adrian 2628ef6279 Merge pull request #359 from MiniPlaceholders/renovate/dokka
chore(deps): update dependency org.jetbrains.dokka to v2.2.0
2026-03-26 10:46:43 -05:00
renovate[bot] 6bf9c23e09 chore(deps): update dependency org.jetbrains.dokka to v2.2.0 2026-03-26 14:08:26 +00:00
Adrian e99ae1a6fd Merge pull request #325 from MiniPlaceholders/renovate/fabric.api
fix(deps): update dependency net.fabricmc.fabric-api:fabric-api to v0.144.3+26.1
2026-03-25 14:47:50 -05:00
renovate[bot] e552a0e90d fix(deps): update dependency net.fabricmc.fabric-api:fabric-api to v0.144.3+26.1 2026-03-25 19:39:58 +00:00
Adrian 7146b1d348 Merge pull request #354 from Leon-JavaScript/feat/minestom
Add support for Minestom platform
2026-03-25 14:39:31 -05:00
Adrian Gonzales e91b6796cb Merge remote-tracking branch 'minestom/feat/minestom' into feat/minestom 2026-03-25 14:33:12 -05:00
Adrian Gonzales 6e528c5d6b test(minestom): Improved Minestom testing instance 2026-03-25 14:32:48 -05:00
Adrian 9c029ab519 Merge branch 'main' into feat/minestom 2026-03-25 12:49:43 -05:00
Adrian Gonzales 114b38ba5b feat(minestom): Use static methods to initialize MiniPlaceholders Minestom 2026-03-25 12:47:22 -05:00
Adrian Gonzales 288a5ae5e0 fix(ci): Fixed jenkins javadoc generation 2026-03-25 12:05:02 -05:00
Adrian ae720f3dce Merge pull request #356 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.5
2026-03-25 11:50:18 -05:00
Leon Marschke 57df8615dc Merge branch 'main' into feat/minestom 2026-03-25 17:47:06 +01:00
renovate[bot] b00e37131d fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.5 2026-03-25 16:36:46 +00:00
Adrian 34c2330af8 Added support for Fabric 26.1 (#357)
* feat: Initial 26.1 progress

* feat: Working Fabric 26.1 support

* misc: Removed unused references
2026-03-25 11:35:59 -05:00
Leon-JavaScript 6bc35b3e16 docs(README): update compatibility section for Minestom 1.21.11 2026-03-25 17:29:15 +01:00
Leon-JavaScript 1eea547f7a feat(example): add audience and relational placeholders 2026-03-25 17:28:29 +01:00
Leon-JavaScript 68f8ce504c feat(build): add Maven publishing configuration for Minestom 2026-03-24 20:04:43 +01:00
Leon-JavaScript 007b10e0c3 fix(commands): message argument to support multiple strings 2026-03-24 17:08:50 +01:00
Leon-JavaScript 4c556c4925 fix(commands): suggestion filtering for command arguments 2026-03-24 17:08:02 +01:00
Leon-JavaScript 39b20b1827 fix(tests): disable failOnNoDiscoveredTests in test task 2026-03-24 15:56:45 +01:00
Leon-JavaScript 8206b99d00 fix(review): Apply suggestions from PR review
- Update version to documentation to 3.2.0
- Change method platformHasComplementLoaded to always return `false` because Minestom doesn't support plugins
2026-03-24 15:56:26 +01:00
Adrian 35b3c31341 Merge pull request #353 from SmiteMCde/fix/help-command-expansions-click
Fix expansions command click in help message
2026-03-23 17:17:42 -05:00
Leon-JavaScript 075cca14b0 feat(minestom): add support for Minestom platform and related commands 2026-03-23 20:10:48 +01:00
Leon Marschke 4fb84b3ddc Update command click events in CommandConstants.java
Signed-off-by: Leon Marschke <70959426+Leon-JavaScript@users.noreply.github.com>
2026-03-23 19:53:41 +01:00
Adrian f9df6ddd1a Merge pull request #352 from MiniPlaceholders/renovate/nick-invision-retry-4.x
chore(deps): update nick-invision/retry action to v4
2026-03-20 00:20:08 -05:00
renovate[bot] 6557d0c99d chore(deps): update nick-invision/retry action to v4 2026-03-20 04:35:30 +00:00
Adrian fbaada216a Merge pull request #351 from MiniPlaceholders/renovate/gradle-9.x
chore(deps): update gradle to v9.4.1
2026-03-19 09:56:58 -05:00
renovate[bot] c97f2c2dc5 chore(deps): update gradle to v9.4.1 2026-03-19 09:29:20 +00:00
Adrian 97f6561724 Merge pull request #350 from MiniPlaceholders/renovate/kotlin-monorepo
fix(deps): update kotlin monorepo to v2.3.20
2026-03-18 22:39:24 -05:00
renovate[bot] 98835a90b2 fix(deps): update kotlin monorepo to v2.3.20 2026-03-16 09:54:10 +00:00
Adrian a03ee83d54 Merge pull request #349 from MiniPlaceholders/renovate/shadow
fix(deps): update shadow to v9.4.0
2026-03-15 10:06:18 -05:00
renovate[bot] 7433aa0394 fix(deps): update shadow to v9.4.0 2026-03-15 05:06:35 +00:00
Adrian Gonzales c392a112e5 feat: Added support to Fabric 1.21.11+ 2026-03-14 12:10:06 -05:00
Adrian 4d8673aeeb Merge pull request #348 from MiniPlaceholders/renovate/gradle-9.x
chore(deps): update gradle to v9.4.0
2026-03-06 23:22:18 -05:00
renovate[bot] b60ea1a9a9 chore(deps): update gradle to v9.4.0 2026-03-04 12:45:06 +00:00
Adrian ecfee088cd Merge pull request #340 from MiniPlaceholders/renovate/quiet-fabric-loom-1.x
chore(deps): update plugin quiet-fabric-loom to v1.15.332
2026-02-27 22:48:13 -05:00
Adrian 39b0e12c49 Merge pull request #341 from MiniPlaceholders/renovate/kotlin-monorepo
fix(deps): update kotlin monorepo to v2.3.10
2026-02-27 22:47:41 -05:00
Adrian 8c4158eee8 Merge pull request #346 from MiniPlaceholders/renovate/major-github-artifact-actions
chore(deps): update actions/upload-artifact action to v7
2026-02-27 22:47:24 -05:00
Adrian f425afc2bb Merge pull request #345 from MiniPlaceholders/renovate/bstats
fix(deps): update bstats to v3.2.1
2026-02-27 22:47:14 -05:00
Adrian 373fc7f757 Merge pull request #347 from MiniPlaceholders/renovate/shadow
fix(deps): update shadow to v9.3.2
2026-02-27 22:44:11 -05:00
renovate[bot] 05619a4939 fix(deps): update shadow to v9.3.2 2026-02-27 13:01:49 +00:00
renovate[bot] 968c930060 fix(deps): update kotlin monorepo to v2.3.10 2026-02-27 13:01:44 +00:00
renovate[bot] b1bc70bba7 chore(deps): update plugin quiet-fabric-loom to v1.15.332 2026-02-27 13:01:37 +00:00
renovate[bot] 5c412ba2ff chore(deps): update actions/upload-artifact action to v7 2026-02-26 22:33:39 +00:00
renovate[bot] 366f9b43a6 fix(deps): update bstats to v3.2.1 2026-02-24 23:08:20 +00:00
Adrian e699e48ae3 Merge pull request #344 from MiniPlaceholders/renovate/bstats
fix(deps): update bstats to v3.2.0
2026-02-24 01:16:46 -05:00
renovate[bot] bc018cfb2d fix(deps): update bstats to v3.2.0 2026-02-23 22:14:10 +00:00
Adrian 1c299e6595 Merge pull request #343 from MiniPlaceholders/renovate/org.jetbrains.gradle.plugin.idea-ext-1.x
chore(deps): update plugin idea-ext to v1.4.1
2026-02-18 12:42:59 -05:00
renovate[bot] 510ca51111 chore(deps): update plugin idea-ext to v1.4.1 2026-02-18 11:14:25 +00:00
Adrian a466dbd378 Merge pull request #342 from MiniPlaceholders/renovate/junit-framework-monorepo
fix(deps): update dependency org.junit:junit-bom to v6.0.3
2026-02-15 14:05:56 -05:00
renovate[bot] 029b528669 fix(deps): update dependency org.junit:junit-bom to v6.0.3 2026-02-15 17:36:53 +00:00
Adrian a3f371105e Merge pull request #339 from MiniPlaceholders/renovate/gradle-9.x
chore(deps): update gradle to v9.3.1
2026-01-31 01:21:04 -05:00
renovate[bot] f6fae9b54b chore(deps): update gradle to v9.3.1 2026-01-29 17:13:18 +00:00
Adrian 5828f8d1ff Merge pull request #335 from MiniPlaceholders/renovate/quiet-fabric-loom-1.x
chore(deps): update plugin quiet-fabric-loom to v1.15.331
2026-01-26 23:42:25 -05:00
renovate[bot] 88a27c40e6 chore(deps): update plugin quiet-fabric-loom to v1.15.331 2026-01-26 16:04:42 +00:00
Adrian 34a33a0f44 Merge pull request #338 from MiniPlaceholders/renovate/org.jetbrains.gradle.plugin.idea-ext-1.x
chore(deps): update plugin idea-ext to v1.4
2026-01-26 10:54:42 -05:00
renovate[bot] c27bf3a907 chore(deps): update plugin idea-ext to v1.4 2026-01-26 11:11:38 +00:00
Adrian 7b332154bc Merge pull request #337 from MiniPlaceholders/renovate/velocity
fix(deps): update dependency com.velocitypowered:velocity-api to v3.4.0
2026-01-25 22:27:30 -05:00
renovate[bot] 132c1f8fac fix(deps): update dependency com.velocitypowered:velocity-api to v3.4.0 2026-01-25 22:13:00 +00:00
Adrian 009873b5e9 Merge pull request #334 from MiniPlaceholders/renovate/com.vanniktech.maven.publish-0.x
chore(deps): update plugin com.vanniktech.maven.publish to v0.36.0
2026-01-19 15:03:58 -05:00
renovate[bot] 0d27f10575 chore(deps): update plugin com.vanniktech.maven.publish to v0.36.0 2026-01-18 18:41:45 +00:00
Adrian 519d131a16 Merge pull request #333 from MiniPlaceholders/renovate/gradle-9.x
chore(deps): update gradle to v9.3.0
2026-01-16 12:32:50 -05:00
renovate[bot] 5e9da46f8c chore(deps): update gradle to v9.3.0 2026-01-16 15:16:21 +00:00
Adrian 207a4e8db3 Merge pull request #329 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.4
2026-01-12 13:03:49 -05:00
Adrian ad17ce84bd Merge pull request #332 from MiniPlaceholders/renovate/quiet-fabric-loom-1.x
chore(deps): update plugin quiet-fabric-loom to v1.14.330
2026-01-12 13:03:38 -05:00
renovate[bot] 4aa9524cfd chore(deps): update plugin quiet-fabric-loom to v1.14.330 2026-01-11 04:51:20 +00:00
Adrian 097203729f Merge pull request #331 from MiniPlaceholders/renovate/junit-framework-monorepo
fix(deps): update dependency org.junit:junit-bom to v6.0.2
2026-01-06 23:45:37 -05:00
renovate[bot] 13cc13539d fix(deps): update dependency org.junit:junit-bom to v6.0.2 2026-01-06 17:55:42 +00:00
Adrian 53bc542588 Merge pull request #330 from MiniPlaceholders/renovate/shadow
fix(deps): update shadow to v9.3.1
2026-01-06 12:54:59 -05:00
renovate[bot] 5f20e679c6 fix(deps): update dependency com.gradleup.shadow:shadow-gradle-plugin to v9.3.1 2026-01-06 05:58:51 +00:00
renovate[bot] 7fe01d729c fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.4 2025-12-24 20:43:32 +00:00
Adrian 42976b576a Merge pull request #327 from MiniPlaceholders/renovate/kotlin-monorepo
fix(deps): update kotlin monorepo to v2.3.0
2025-12-17 13:08:15 -05:00
Adrian f50d95aa07 Merge pull request #328 from MiniPlaceholders/renovate/adventure
fix(deps): update adventure to v4.26.1
2025-12-17 13:07:15 -05:00
Adrian 961f8d33ff Merge pull request #322 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.3
2025-12-17 12:49:43 -05:00
Adrian 2c1b24c586 Merge pull request #326 from MiniPlaceholders/renovate/major-github-artifact-actions
chore(deps): update actions/upload-artifact action to v6
2025-12-17 12:45:05 -05:00
renovate[bot] c29774fb78 fix(deps): update kotlin monorepo to v2.3.0 2025-12-17 17:43:48 +00:00
renovate[bot] 6524d599f2 fix(deps): update adventure to v4.26.1 2025-12-17 17:43:43 +00:00
Adrian dab817a653 Merge pull request #324 from MiniPlaceholders/renovate/adventuremodded
fix(deps): update dependency net.kyori:adventure-platform-fabric to v6.8.0
2025-12-17 12:42:27 -05:00
Adrian 06c908a2cc Merge pull request #323 from MiniPlaceholders/renovate/me.lucko-fabric-permissions-api-0.x
fix(deps): update dependency me.lucko:fabric-permissions-api to v0.6.1
2025-12-17 12:40:45 -05:00
renovate[bot] 21a67c2d85 fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.3 2025-12-17 02:39:20 +00:00
renovate[bot] e7974dfbca chore(deps): update actions/upload-artifact action to v6 2025-12-12 21:09:23 +00:00
Adrian bd80c435c0 Merge pull request #300 from MiniPlaceholders/renovate/fabric.api
fix(deps): update dependency net.fabricmc.fabric-api:fabric-api to v0.139.4+1.21.11
2025-12-11 12:50:49 -05:00
renovate[bot] c85e2cd1ac fix(deps): update dependency net.fabricmc.fabric-api:fabric-api to v0.139.4+1.21.11 2025-12-10 12:42:08 +00:00
renovate[bot] dbf167412d fix(deps): update dependency net.kyori:adventure-platform-fabric to v6.8.0 2025-12-10 06:01:14 +00:00
renovate[bot] d17883962e fix(deps): update dependency me.lucko:fabric-permissions-api to v0.6.1 2025-12-10 03:46:56 +00:00
Adrian f41e1e672a Merge pull request #321 from MiniPlaceholders/renovate/shadow
fix(deps): update shadow to v9.3.0
2025-12-05 12:50:47 -05:00
renovate[bot] 31355fa183 fix(deps): update shadow to v9.3.0 2025-12-05 17:13:13 +00:00
Adrian 30ce81cf67 Merge pull request #320 from MiniPlaceholders/renovate/quiet-fabric-loom-1.x
chore(deps): update plugin quiet-fabric-loom to v1.13.328
2025-11-23 10:13:15 -05:00
renovate[bot] aeaa712d8c chore(deps): update plugin quiet-fabric-loom to v1.13.328 2025-11-21 22:53:02 +00:00
Adrian 061d483f20 Merge pull request #318 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.1
2025-11-21 11:00:09 -05:00
Adrian 408c225b5d Merge pull request #319 from MiniPlaceholders/renovate/actions-checkout-6.x
chore(deps): update actions/checkout action to v6
2025-11-21 10:19:11 -05:00
renovate[bot] 562e42c220 chore(deps): update actions/checkout action to v6 2025-11-20 17:36:49 +00:00
renovate[bot] 2e36e96d7f fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.1 2025-11-20 17:36:45 +00:00
Adrian 98ee83e714 Merge pull request #317 from MiniPlaceholders/renovate/gradle-9.x
chore(deps): update gradle to v9.2.1
2025-11-19 14:58:16 -05:00
renovate[bot] 34d33b2b81 chore(deps): update gradle to v9.2.1 2025-11-18 02:29:17 +00:00
Adrian 882723c155 Merge pull request #316 from MiniPlaceholders/renovate/com.vanniktech.maven.publish-0.x
chore(deps): update plugin com.vanniktech.maven.publish to v0.35.0
2025-11-12 01:10:55 -05:00
renovate[bot] 80fa0c07d0 chore(deps): update plugin com.vanniktech.maven.publish to v0.35.0 2025-11-11 20:42:36 +00:00
Adrian fbc48c4c5c Merge pull request #315 from MiniPlaceholders/renovate/fabric.loader
fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.0
2025-11-09 11:41:03 -05:00
renovate[bot] 095228cce8 fix(deps): update dependency net.fabricmc:fabric-loader to v0.18.0 2025-11-09 01:15:12 +00:00
Adrian 775d62233c Merge pull request #313 from MiniPlaceholders/renovate/quiet-fabric-loom-1.x
chore(deps): update plugin quiet-fabric-loom to v1.12.326
2025-11-07 22:23:52 -05:00
renovate[bot] 67cb025d0f chore(deps): update plugin quiet-fabric-loom to v1.12.326 2025-11-08 02:33:57 +00:00
Adrian e296bf8a90 Merge pull request #314 from MiniPlaceholders/renovate/junit-framework-monorepo
fix(deps): update dependency org.junit:junit-bom to v6.0.1
2025-11-07 16:56:00 -05:00
Adrian 9f9950de70 Merge pull request #312 from MiniPlaceholders/renovate/gradle-9.x
chore(deps): update gradle to v9.2.0
2025-11-07 16:55:07 -05:00
Adrian ffe0e0f5d8 Merge pull request #311 from MiniPlaceholders/renovate/major-github-artifact-actions
chore(deps): update actions/upload-artifact action to v5
2025-11-07 16:52:21 -05:00
renovate[bot] b5063d9a02 fix(deps): update dependency org.junit:junit-bom to v6.0.1 2025-10-31 19:49:04 +00:00
renovate[bot] e0e0b4fe3e chore(deps): update gradle to v9.2.0 2025-10-29 23:17:04 +00:00
renovate[bot] eeb756d1fc chore(deps): update actions/upload-artifact action to v5 2025-10-24 23:02:20 +00:00
Adrian 4c173ae8ee Merge pull request #310 from MiniPlaceholders/renovate/kotlin-monorepo
fix(deps): update kotlin monorepo to v2.2.21
2025-10-23 11:19:23 -05:00
renovate[bot] 0dc6d85cdb fix(deps): update kotlin monorepo to v2.2.21 2025-10-23 14:28:44 +00:00
Adrian 944fef34f6 Merge pull request #308 from MiniPlaceholders/renovate/dokka
fix(deps): update dokka to v2.1.0
2025-10-15 10:49:53 -05:00
Adrian 0c7e327323 Merge pull request #309 from MiniPlaceholders/renovate/org.jetbrains.dokka-2.x
chore(deps): update plugin org.jetbrains.dokka to v2.1.0
2025-10-15 10:49:44 -05:00
renovate[bot] 17aef8b922 chore(deps): update plugin org.jetbrains.dokka to v2.1.0 2025-10-15 10:32:07 +00:00
renovate[bot] 94baa536a4 chore(deps): update dependency org.jetbrains.dokka to v2.1.0 2025-10-15 10:32:03 +00:00
Adrian f7a59f1279 Merge pull request #307 from MiniPlaceholders/renovate/blossom
chore(deps): update dependency net.kyori.blossom to v2.2.0
2025-10-12 00:54:33 -05:00
renovate[bot] 9b314854a2 chore(deps): update dependency net.kyori.blossom to v2.2.0 2025-10-12 05:03:43 +00:00
Adrian 1579b264a8 Merge pull request #306 from MiniPlaceholders/renovate/runtask
fix(deps): update runtask to v3.0.2
2025-10-11 13:24:16 -05:00
renovate[bot] 17cc2016fe fix(deps): update runtask to v3.0.2 2025-10-11 05:11:30 +00:00
Adrian Gonzales ea3a80a0bd feat: Added support to Fabric 1.21.9+ 2025-10-10 03:27:30 -05:00
Adrian 2dee5f0d66 Merge pull request #303 from MiniPlaceholders/renovate/adventure
fix(deps): update adventure to v4.25.0
2025-10-10 03:25:10 -05:00
renovate[bot] 4efed28253 fix(deps): update adventure to v4.25.0 2025-10-10 08:09:11 +00:00
Adrian 45b1a0da5d Merge pull request #298 from MiniPlaceholders/renovate/me.lucko-fabric-permissions-api-0.x
fix(deps): update dependency me.lucko:fabric-permissions-api to v0.5.0
2025-10-10 03:08:08 -05:00
Adrian c4002e0a3d Merge pull request #304 from MiniPlaceholders/renovate/adventuremodded
fix(deps): update dependency net.kyori:adventure-platform-fabric to v6.7.0
2025-10-10 03:07:47 -05:00
renovate[bot] 9dd473092a fix(deps): update dependency net.kyori:adventure-platform-fabric to v6.7.0 2025-10-09 12:44:50 +00:00
renovate[bot] 9139d2260f fix(deps): update dependency me.lucko:fabric-permissions-api to v0.5.0 2025-10-09 12:44:42 +00:00
38 changed files with 647 additions and 145 deletions

No files matched your search

+7 -7
View File
@@ -8,24 +8,24 @@ jobs:
steps:
- name: Checkout Repository
uses: actions/checkout@v5
uses: actions/checkout@v7
- name: Set up JDK 21
uses: actions/setup-java@v5
- name: Set up JDK 25
uses: actions/setup-java@v6
with:
java-version: 21
distribution: 'temurin'
java-version: 25
distribution: 'zulu'
cache: 'gradle'
- name: Build with Gradle
uses: nick-invision/retry@v3
uses: nick-invision/retry@v4
with:
timeout_minutes: 10
max_attempts: 2
command: gradle build
- name: Upload Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: MiniPlaceholders
path: jar/MiniPlaceholders-*.jar
+18 -3
View File
@@ -2,19 +2,34 @@
MiniPlaceholders Changelog
-->
## 3.1.1 (unreleased)
# 3.2.2 (unreleased)
### Features
### Fixes
### API Additions
<!-- -->
# 3.2.1 (07/09/2026)
### Fixes
- Fixed Fabric 26.2 support
## 3.2.0 (27/03/2026)
### Features
- Added support to Fabric 26.1+
- Added Minestom support
- Updated to Java 25
## 3.1.0 (10/10/2025)
+3 -2
View File
@@ -12,9 +12,10 @@ MiniMessage Component-based Placeholders API for Minecraft Platforms.
## Compatibility
- Paper 1.21+
- Velocity 3.4+
- Fabric 1.21.6+
- Velocity 3.5+
- Fabric 26.1+
- Sponge API 12+
- Minestom 1.21.11+
## User Usage
+1 -3
View File
@@ -39,9 +39,7 @@ tasks {
val o = options as StandardJavadocDocletOptions
o.encoding = Charsets.UTF_8.name()
o.links(
"https://jd.advntr.dev/api/${libs.versions.adventure.get()}/",
"https://jd.advntr.dev/text-minimessage/${libs.versions.adventure.get()}/",
"https://javadoc.io/doc/org.jspecify/jspecify/latest/index.html"
"https://jd.papermc.io/adventure/${libs.versions.adventure.get()}/",
)
o.tags(
"apiNote:a:API Note:",
@@ -45,6 +45,7 @@ public final class MiniPlaceholders {
case VELOCITY -> Platform.VELOCITY;
case FABRIC -> Platform.FABRIC;
case SPONGE -> Platform.SPONGE;
case MINESTOM -> Platform.MINESTOM;
};
}
@@ -72,7 +72,6 @@ public record AudiencePlaceholder<A extends Audience>(
: null;
}
@SuppressWarnings("OverrideOnly")
private @Nullable A forwardingFilter(final Pointered source) {
//noinspection DataFlowIssue
if (targetClass.isInstance(source)) {
@@ -33,7 +33,7 @@ public record GlobalPlaceholder(@TagPattern String key, String name, GlobalTagRe
if (this == obj) {
return true;
}
if (obj instanceof GlobalPlaceholder(var oKey, var __, var ___)) {
if (obj instanceof GlobalPlaceholder(var oKey, var _, var _)) {
return Objects.equals(oKey, this.key);
}
return false;
@@ -96,7 +96,6 @@ public record RelationalPlaceholder<A extends Audience>(
: null;
}
@SuppressWarnings("OverrideOnly")
private @Nullable A forwardingFilter(final Pointered source) {
//noinspection DataFlowIssue
if (targetClass.isInstance(source)) {
@@ -29,5 +29,11 @@ public enum Platform {
*
* @since 2.2.0
*/
SPONGE
SPONGE,
/**
* Minestom Platform
*
* @since 3.2.0
*/
MINESTOM,
}
+2 -2
View File
@@ -7,13 +7,13 @@ import org.jspecify.annotations.NullMarked;
open module io.github.miniplaceholders.api {
requires io.github.miniplaceholders.connect;
requires net.kyori.adventure;
requires net.kyori.adventure.api;
requires net.kyori.adventure.text.minimessage;
requires net.kyori.adventure.text.serializer.legacy;
requires net.kyori.examination.api;
requires static org.jetbrains.annotations;
requires static org.jspecify;
requires static team.unnamed.inject;
exports io.github.miniplaceholders.api;
exports io.github.miniplaceholders.api.types;
@@ -13,7 +13,7 @@ class MiniPlaceholdersTest implements MiniTest {
void methodEquality(){
Expansion.builder("equality")
.audiencePlaceholder("audience", Tags.emptyAudienceResolver())
.globalPlaceholder("global", (queue, ctx) -> Tags.EMPTY_TAG)
.globalPlaceholder("global", (_, _) -> Tags.EMPTY_TAG)
.build()
.register();
+1 -1
View File
@@ -14,6 +14,6 @@ repositories {
kotlin {
jvmToolchain {
languageVersion = JavaLanguageVersion.of(21)
languageVersion = JavaLanguageVersion.of(25)
}
}
@@ -1,4 +1,4 @@
import java.util.Date
import java.util.*
plugins {
java
@@ -7,7 +7,7 @@ plugins {
tasks {
compileJava {
options.encoding = Charsets.UTF_8.name()
options.release.set(21)
options.release.set(25)
}
jar {
manifest {
@@ -22,7 +22,7 @@ tasks {
java{
toolchain{
languageVersion.set(JavaLanguageVersion.of(21))
languageVersion.set(JavaLanguageVersion.of(25))
vendor.set(JvmVendorSpec.AZUL)
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
plugins {
kotlin("jvm") version "2.2.20" apply false
kotlin("jvm") version "2.4.21" apply false
}
tasks {
@@ -10,6 +10,7 @@ import io.github.miniplaceholders.common.loader.ExpansionProviderLoader;
import io.github.miniplaceholders.common.loader.FailedToLoadExpansion;
import io.github.miniplaceholders.common.loader.ProviderLoadResult;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.ComponentLike;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextColor;
@@ -51,11 +52,13 @@ public interface PlaceholdersPlugin {
final Component expansionsInfo = loadedExpansions.stream()
.map(this::expansionInfo)
// Adventure 5.x/4.x support
.map(ComponentLike::asComponent)
.collect(Component.toComponent(Component.text(", ", NamedTextColor.WHITE)));
logInfo(Component.text("Loaded expansions: ", NamedTextColor.GREEN).append(expansionsInfo));
}
private Component expansionInfo(Expansion expansion) {
private ComponentLike expansionInfo(Expansion expansion) {
final TextComponent.Builder builder = Component.text();
builder.append(Component.text(expansion.name(), NamedTextColor.AQUA));
final String author = expansion.author();
@@ -84,7 +87,7 @@ public interface PlaceholdersPlugin {
);
}
builder.append(Component.text(']', NamedTextColor.DARK_GRAY));
return builder.build();
return builder;
}
default ProviderLoadResult tryLoad(final ExpansionProvider provider, final LoadRequirement loadRequirement) {
@@ -80,7 +80,7 @@ public final class CommandConstants {
)
.append(newline(), miniMessage().deserialize(
"<gradient:aqua:#94d1ff>" + command + "</gradient> <aqua>expansions</aqua>")
.clickEvent(ClickEvent.runCommand(command + " help"))
.clickEvent(ClickEvent.runCommand(command + " expansions"))
)
.append(newline(), FOOTER)
.build();
@@ -3,7 +3,7 @@ package io.github.miniplaceholders.connect;
public enum InternalPlatform {
PAPER, VELOCITY,
FABRIC, SPONGE;
FABRIC, SPONGE, MINESTOM;
private static InternalPlatform actualPlatform;
+1 -1
View File
@@ -4,7 +4,7 @@ plugins {
alias(libs.plugins.blossom)
}
version = "1.3.5"
version = "1.4.0"
dependencies {
compileOnly(projects.miniplaceholdersApi)
@@ -25,6 +25,24 @@ public record ExampleProvider(PlatformData platformData) implements ExpansionPro
platformData.serverInstance(),
platformData.complementInstance()
)))
.audiencePlaceholder("audience", (audience, queue, ctx) -> Tag.preProcessParsed("""
Audience Instance Class: %s
MiniPlaceholders Instance Class: %s
""".formatted(
audience,
platformData.complementInstance()
)))
.relationalPlaceholder("test", (audience, relational, queue, ctx) -> Tag.preProcessParsed("""
Audience Instance Class: %s
Relational Instance Class: %s
Is Audience equals Relational? %s
MiniPlaceholders Instance Class: %s
""".formatted(
audience,
relational,
audience.equals(relational),
platformData.complementInstance()
)))
.version(ExpansionConstants.VERSION)
.build();
}
+18 -14
View File
@@ -3,25 +3,33 @@ import java.nio.file.StandardCopyOption
import kotlin.io.path.deleteIfExists
plugins {
alias(libs.plugins.fabric.loom)
id("miniplaceholders.auto.module")
id("quiet-fabric-loom")
alias(libs.plugins.shadow)
}
repositories {
maven("https://central.sonatype.com/repository/maven-snapshots/") {
name = "sonatype-snapshots"
mavenContent {
snapshotsOnly()
}
}
maven("https://jitpack.io")
}
val shade: Configuration by configurations.creating
dependencies {
minecraft(libs.minecraft)
mappings(loom.officialMojangMappings())
modImplementation(libs.fabric.loader)
modImplementation(libs.fabric.api)
compileOnly(libs.fabric.loader)
compileOnly(libs.fabric.api)
includeDependency(libs.adventure.platform.fabric)
includeDependency(libs.adventure.serializer.legacy)
includeDependency(libs.adventure.minimessage)
includeDependency(libs.luckopermissionsapi)
includeDependency(libs.desertwell)
includeDependency(libs.unnamedinject)
includeDependency(libs.desertwell)
shadeModule(projects.miniplaceholdersApi)
shadeModule(projects.miniplaceholdersCommon)
@@ -29,16 +37,16 @@ dependencies {
}
fun DependencyHandlerScope.shadeModule(module: ProjectDependency) {
shade(module) {
implementation(module) {
isTransitive = false
}
implementation(module) {
include(module) {
isTransitive = false
}
}
fun DependencyHandlerScope.includeDependency(dependency: Any) {
modImplementation(dependency)
implementation(dependency)
include(dependency)
}
@@ -51,14 +59,10 @@ tasks {
expand("version" to projectVersion)
}
}
remapJar {
inputFile.set(shadowJar.get().archiveFile)
jar {
archiveFileName.set("MiniPlaceholders-Fabric-${projectVersion}.jar")
destinationDirectory.set(file("${rootDir}/jar"))
}
shadowJar {
configurations = listOf(shade)
}
// I know it's exactly the same logic for all modules,
// but for some reason in this module it only works
// if it's declared in the same project configuration
@@ -54,7 +54,9 @@ public final class FabricMod implements DedicatedServerModInitializer, Placehold
return switch (Permissions.getPermissionValue(commandSourceStack, permission)) {
case TRUE -> TriState.TRUE;
case FALSE -> TriState.FALSE;
case DEFAULT -> commandSourceStack.hasPermission(3) ? TriState.TRUE : TriState.NOT_SET;
case DEFAULT -> commandSourceStack.permissions()
.hasPermission(net.minecraft.server.permissions.Permissions.COMMANDS_GAMEMASTER)
? TriState.TRUE : TriState.NOT_SET;
};
}
);
+6 -6
View File
@@ -20,11 +20,11 @@
]
},
"depends": {
"fabricloader": ">=0.14.19",
"fabric": "*",
"java": ">=21",
"adventure-platform-fabric": "~6.6.0",
"minecraft": ">=1.21.6 <=1.21.8",
"fabric-permissions-api-v0": "~0.4.1"
"fabricloader": ">=0.18.0",
"fabric-api": "*",
"java": ">=25",
"adventure-platform-fabric": ">6.8.0",
"minecraft": ">=26.2",
"fabric-permissions-api-v0": ">=0.7.0"
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
group = io.github.miniplaceholders
version = 3.1.1-SNAPSHOT
version = 3.2.2-SNAPSHOT
description = MiniMessage Component-based Placeholders API
org.gradle.jvmargs=-Xmx2G
+39 -29
View File
@@ -2,55 +2,61 @@ metadata.format.version = "1.1"
[versions]
velocity = "3.4.0-SNAPSHOT"
paper = "1.21.8-R0.1-SNAPSHOT"
minecraft = "1.21.8"
runtask = "3.0.1"
blossom = "2.1.0"
shadow = "9.2.2"
jmh = "0.7.3"
dokka = "2.0.0"
adventure = "4.24.0"
adventureModded = "6.6.0"
kotlin = "2.2.20"
fabric-api = "0.134.0+1.21.8"
fabric-loader = "0.17.3"
# Platform
minecraft = "26.1"
paper = "1.21.11-R0.1-SNAPSHOT"
velocity = "4.3.0"
minestom = "2026.10.07-26.2"
fabric-loader = "0.20.1"
fabric-api = "0.145.0+26.1"
# Libraries
kotlin = "2.4.21"
adventure = "5.2.0"
adventureModded = "7.2.0"
desertwell = "2.0.4"
bstats = "3.1.0"
bstats = "3.2.1"
jspecify = "1.0.1"
# Gradle Plugins
runtask = "3.1.0"
blossom = "2.2.0"
shadow = "9.6.1"
jmh = "0.7.3"
dokka = "2.2.0"
[libraries]
velocity = { group = "com.velocitypowered", name = "velocity-api", version.ref = "velocity" }
paper = { group = "io.papermc.paper", name = "paper-api", version.ref = "paper" }
# Platforms
minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft" }
fabric-api = { group = "net.fabricmc.fabric-api", name = "fabric-api", version.ref = "fabric-api" }
paper = { group = "io.papermc.paper", name = "paper-api", version.ref = "paper" }
velocity = { group = "com.velocitypowered", name = "velocity-api", version.ref = "velocity" }
minestom = { group = "net.minestom", name = "minestom", version.ref = "minestom" }
fabric-loader = { group = "net.fabricmc", name = "fabric-loader", version.ref = "fabric-loader" }
luckopermissionsapi = { group = "me.lucko", name = "fabric-permissions-api", version = "0.4.1" }
fabric-api = { group = "net.fabricmc.fabric-api", name = "fabric-api", version.ref = "fabric-api" }
# Adventure
adventure-api = { group = "net.kyori", name = "adventure-api", version.ref = "adventure" }
adventure-minimessage = { group = "net.kyori", name = "adventure-text-minimessage", version.ref = "adventure" }
adventure-platform-fabric = { group = "net.kyori", name = "adventure-platform-fabric", version.ref = "adventureModded" }
adventure-serializer-legacy = { group = "net.kyori", name = "adventure-text-serializer-legacy", version.ref = "adventure" }
adventure-serializer-plain = { group = "net.kyori", name = "adventure-text-serializer-plain", version.ref = "adventure" }
# Build-Logic Gradle Plugins
plugin-shadow = { module = "com.gradleup.shadow:shadow-gradle-plugin", version.ref = "shadow" }
plugin-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
plugin-dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" }
plugin-runtask = { module = "xyz.jpenilla.run-velocity:xyz.jpenilla.run-velocity.gradle.plugin", version.ref = "runtask" }
# Libraries
desertwell = { group = "net.william278", name = "DesertWell", version.ref = "desertwell" }
junit-bom = "org.junit:junit-bom:6.0.0"
jspecify = "org.jspecify:jspecify:1.0.0"
junit-bom = "org.junit:junit-bom:6.1.3"
jspecify = { module = "org.jspecify:jspecify", version.ref = "jspecify" }
luckopermissionsapi = { group = "me.lucko", name = "fabric-permissions-api", version = "0.7.0" }
unnamedinject = "team.unnamed:inject:2.0.1"
brigadier = "com.mojang:brigadier:1.0.500"
slf4j = "org.slf4j:slf4j-api:2.0.20"
# Bstats
bstats-core = { group = "org.bstats", name = "bstats-base", version.ref = "bstats" }
bstats-velocity = { group = "org.bstats", name = "bstats-velocity", version.ref = "bstats" }
bstats-sponge = { group = "org.bstats", name = "bstats-sponge", version.ref = "bstats" }
@@ -58,10 +64,14 @@ bstats-bukkit = { group = "org.bstats", name = "bstats-bukkit", version.ref = "b
[plugins]
# Platform Plugins
runpaper = { id = "xyz.jpenilla.run-paper", version.ref = "runtask" }
runvelocity = { id = "xyz.jpenilla.run-velocity", version.ref = "runtask" }
fabric-loom = { id = "net.fabricmc.fabric-loom", version = "1.18.4"}
spongegradle = { id = "org.spongepowered.gradle.plugin", version = "2.5.1" }
# General Plugins
blossom = { id = "net.kyori.blossom", version.ref = "blossom" }
shadow = { id = "com.gradleup.shadow", version.ref = "shadow" }
jmh = { id = "me.champeau.jmh", version.ref = "jmh" }
idea-ext = { id = "org.jetbrains.gradle.plugin.idea-ext", version = "1.3" }
dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
idea-ext = { id = "org.jetbrains.gradle.plugin.idea-ext", version = "1.4.1" }
Binary file not shown.
+3 -1
View File
@@ -1,7 +1,9 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.2-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Vendored
+3 -3
View File
@@ -20,7 +20,7 @@
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
# gradlew start up script for POSIX generated by Gradle.
#
# Important for running:
#
@@ -29,7 +29,7 @@
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
# ksh gradlew
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
@@ -57,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
Vendored
+52 -33
View File
@@ -19,12 +19,39 @@
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem gradlew startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Set local scope for the variables, and ensure extensions are enabled
setlocal EnableExtensions
@rem Catch executions from older scripts and ensure they exit cleanly.
@rem This can be removed once we can be reasonably confident that few people
@rem will be migrating directly to this new wrapper.
goto afterSafetyNet
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
goto exitWithErrorLevel
:afterSafetyNet
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@@ -45,13 +72,14 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
1>&2 echo.
1>&2 echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
1>&2 echo.
1>&2 echo Please set the JAVA_HOME variable in your environment to match the
1>&2 echo location of your Java installation.
goto fail
"%COMSPEC%" /c exit 1
goto exitWithErrorLevel
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
@@ -59,35 +87,26 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
1>&2 echo.
1>&2 echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
1>&2 echo.
1>&2 echo Please set the JAVA_HOME variable in your environment to match the
1>&2 echo location of your Java installation.
goto fail
"%COMSPEC%" /c exit 1
goto exitWithErrorLevel
:execute
@rem Setup the command line
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
@rem Execute gradlew
@rem endlocal doesn't take effect until after the line is parsed and variables are expanded
@rem which allows us to clear the local environment before executing the java command
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel & goto exitWithErrorLevel
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
@rem This label must not be changed. We rely on old scripts being able to jump to this point.
:exitWithErrorLevel
@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts
"%COMSPEC%" /c exit %ERRORLEVEL%
+4 -7
View File
@@ -1,11 +1,12 @@
import com.vanniktech.maven.publish.KotlinJvm
import com.vanniktech.maven.publish.JavadocJar
import com.vanniktech.maven.publish.SourcesJar
import java.time.LocalDate
plugins {
kotlin("jvm")
id("com.vanniktech.maven.publish")
id("org.jetbrains.dokka") version "2.0.0"
alias(libs.plugins.dokka)
}
dependencies {
@@ -18,7 +19,7 @@ dependencies {
kotlin {
explicitApi()
jvmToolchain {
languageVersion.set(JavaLanguageVersion.of(21))
languageVersion.set(JavaLanguageVersion.of(25))
}
}
@@ -75,12 +76,8 @@ mavenPublishing {
}
}
configure(KotlinJvm(
// configures the -javadoc artifact, possible values:
// - `JavadocJar.None()` don't publish this artifact
// - `JavadocJar.Empty()` publish an empty jar
// - `JavadocJar.Dokka("dokkaHtml")` when using Kotlin with Dokka, where `dokkaHtml` is the name of the Dokka task that should be used as input
javadocJar = JavadocJar.Dokka("dokkaGeneratePublicationHtml"),
sourcesJar = true,
sourcesJar = SourcesJar.Sources(),
))
}
+3
View File
@@ -0,0 +1,3 @@
#run minestom files
/run
/test
+96
View File
@@ -0,0 +1,96 @@
import java.time.LocalDate
plugins {
id("miniplaceholders.shadow")
id("miniplaceholders.auto.module")
id("miniplaceholders.runtask")
`java-library`
id("com.vanniktech.maven.publish")
}
val shadowInclude by configurations.creating
configurations {
compileOnly.get().extendsFrom(shadowInclude)
testImplementation.get().extendsFrom(shadowInclude)
}
dependencies {
compileOnly(libs.minestom)
compileOnly(libs.adventure.api)
compileOnly(libs.slf4j)
annotationProcessor(libs.minestom)
shadowInclude(projects.miniplaceholdersCommon)
api(projects.miniplaceholdersApi)
shadowInclude(projects.miniplaceholdersConnect)
testImplementation(libs.minestom)
testImplementation(libs.adventure.api)
testImplementation(libs.adventure.minimessage)
testImplementation("ch.qos.logback:logback-classic:1.6.6") // logger
testImplementation("com.google.guava:guava:33.7.2-jre")
}
tasks {
shadowJar {
configurations = listOf(shadowInclude)
}
test {
failOnNoDiscoveredTests = false
}
}
mavenPublishing {
publishToMavenCentral()
signAllPublications()
coordinates(project.group as String, "miniplaceholders-minestom", project.version as String)
pom {
name.set(project.name)
description.set(project.description)
inceptionYear.set(LocalDate.now().year.toString())
url.set("https://github.com/MiniPlaceholders/MiniPlaceholders")
licenses {
license {
name.set("The Apache License, Version 2.0")
url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
distribution.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
}
}
developers {
developer {
id.set("4drian3d")
name.set("Adrian Gonzales")
email.set("adriangonzalesval@gmail.com")
}
}
scm {
connection.set("scm:git:https://github.com/MiniPlaceholders/MiniPlaceholders.git")
developerConnection.set("scm:git:ssh://git@github.com/MiniPlaceholders/MiniPlaceholders.git")
url.set("https://github.com/MiniPlaceholders/MiniPlaceholders")
}
ciManagement {
name.set("GitHub Actions")
url.set("https://github.com/MiniPlaceholders/MiniPlaceholders/actions")
}
issueManagement {
name.set("GitHub")
url.set("https://github.com/MiniPlaceholders/MiniPlaceholders/issues")
}
}
configurations {
named("runtimeElements") {
outgoing {
artifacts.clear()
artifact(tasks.shadowJar)
}
}
named("apiElements") {
outgoing {
artifacts.clear()
artifact(tasks.shadowJar)
}
}
}
}
@@ -0,0 +1,69 @@
package io.github.miniplaceholders.minestom;
import io.github.miniplaceholders.common.PlaceholdersPlugin;
import io.github.miniplaceholders.common.command.PermissionTester;
import io.github.miniplaceholders.connect.InternalPlatform;
import io.github.miniplaceholders.minestom.command.MinestomCommand;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.logger.slf4j.ComponentLogger;
import net.minestom.server.MinecraftServer;
import java.nio.file.Path;
public final class MinestomMiniPlaceholders implements PlaceholdersPlugin {
private static final ComponentLogger LOGGER = ComponentLogger.logger("miniplaceholders");
private final PermissionTester permissionTester;
private MinestomMiniPlaceholders(PermissionTester permissionTester) {
this.permissionTester = permissionTester;
}
public static MinestomMiniPlaceholders initialize(Path dataDirectory, PermissionTester permissionTester) {
InternalPlatform.platform(InternalPlatform.MINESTOM);
LOGGER.info(Component.text("Initializing MiniPlaceholders", NamedTextColor.GREEN));
final MinestomMiniPlaceholders miniPlaceholders = new MinestomMiniPlaceholders(permissionTester);
miniPlaceholders.registerPlatformCommand();
try {
miniPlaceholders.loadProvidedExpansions(dataDirectory.resolve("expansions"));
} catch (Throwable e) {
LOGGER.error("Unable to load expansion providers", e);
}
return miniPlaceholders;
}
/**
* Initializes MiniPlaceholders with a default no-op permission tester.
* This is not recommended for production use!
*/
public static MinestomMiniPlaceholders initialize(final Path dataDirectory) {
return MinestomMiniPlaceholders.initialize(dataDirectory, PermissionTester.NO_OP);
}
@Override
public void registerPlatformCommand() {
MinecraftServer.getCommandManager().register(new MinestomCommand(permissionTester));
}
@Override
public boolean platformHasComplementLoaded(String complementName) {
return false; // Minestom doesn't plugins.
}
@Override
public Object platformServerInstance() {
return MinecraftServer.getServer();
}
@Override
public void logInfo(Component component) {
LOGGER.info(component);
}
@Override
public void logError(Component component) {
LOGGER.error(component);
}
}
@@ -0,0 +1,148 @@
package io.github.miniplaceholders.minestom.command;
import io.github.miniplaceholders.common.command.AudienceConverter;
import io.github.miniplaceholders.common.command.PermissionTester;
import io.github.miniplaceholders.common.command.PlaceholderCommandExecutor;
import io.github.miniplaceholders.common.command.PlayersNameProvider;
import io.github.miniplaceholders.common.command.node.*;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import net.minestom.server.MinecraftServer;
import net.minestom.server.command.CommandSender;
import net.minestom.server.command.builder.Command;
import net.minestom.server.command.builder.CommandContext;
import net.minestom.server.command.builder.CommandExecutor;
import net.minestom.server.command.builder.arguments.Argument;
import net.minestom.server.command.builder.arguments.ArgumentType;
import net.minestom.server.command.builder.condition.CommandCondition;
import net.minestom.server.command.builder.suggestion.SuggestionEntry;
import net.minestom.server.entity.Player;
import org.jetbrains.annotations.Nullable;
import org.jspecify.annotations.NonNull;
import java.util.ArrayList;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class MinestomCommand extends Command {
private final PermissionTester permissionTester;
private final PlayersNameProvider playerSuggestions;
private final AudienceConverter audienceConverter;
public MinestomCommand(PermissionTester permissionTester) {
super("miniplaceholders");
this.permissionTester = permissionTester;
this.playerSuggestions = () -> MinecraftServer.getConnectionManager().getOnlinePlayers()
.stream()
.map(Player::getName)
.map(PlainTextComponentSerializer.plainText()::serialize)
.collect(Collectors.toCollection(ArrayList::new));
this.audienceConverter = string -> MinecraftServer.getConnectionManager().getOnlinePlayerByUsername(string);
final RootNode rootNode = new RootNode(permissionTester);
this.setCondition(new WrappingCondition(rootNode::hasPermission));
this.setDefaultExecutor(new WrappingExecutor(rootNode::execute));
this.addSubcommands(new ExpansionsCommand(), new HelpCommand(), new ParseCommand(), new ParseRelCommand());
}
private class ExpansionsCommand extends Command {
public ExpansionsCommand() {
super("expansions");
final ExpansionsNode expansionsNode = new ExpansionsNode(permissionTester);
this.setCondition(new WrappingCondition(expansionsNode::hasPermission));
this.setDefaultExecutor(new WrappingExecutor(expansionsNode::showExpansions));
}
}
private class HelpCommand extends Command {
public HelpCommand() {
super("help");
final HelpNode helpNode = new HelpNode(permissionTester);
this.setCondition(new WrappingCondition(helpNode::hasPermission));
this.setDefaultExecutor(new WrappingExecutor(helpNode::execute));
}
}
private class ParseCommand extends Command {
public ParseCommand() {
super("parse");
final ParseNode parseNode = new ParseNode(playerSuggestions, audienceConverter, permissionTester);
final Argument<String> sourceArgument = ArgumentType.String("source")
.setSuggestionCallback((_, _, suggestion) -> parseNode.providePlayerSuggestions()
.stream()
.filter(s -> {
final String[] args = suggestion.getInput().replace("\0", "").split(" ");
return args.length < 3 || s.toLowerCase().startsWith(args[2].toLowerCase());
})
.map(SuggestionEntry::new)
.forEach(suggestion::addEntry));
final Argument<String[]> messageArgument = ArgumentType.StringArray("message");
this.setCondition(new WrappingCondition(parseNode::hasPermission));
this.addSyntax((sender, context) -> {
final String source = context.get(sourceArgument);
final String[] message = context.get(messageArgument);
parseNode.parseString(sender, source, String.join(" ", message));
}, sourceArgument, messageArgument);
}
}
private class ParseRelCommand extends Command {
public ParseRelCommand() {
super("parserel");
final ParseRelNode parseRelNode = new ParseRelNode(playerSuggestions, audienceConverter, permissionTester);
final Argument<String> sourceArgument = ArgumentType.String("source")
.setSuggestionCallback((_, _, suggestion) -> parseRelNode.providePlayerSuggestions()
.stream()
.filter(s -> {
final String[] args = suggestion.getInput().replace("\0", "").split(" ");
return args.length < 3 || s.toLowerCase().startsWith(args[2].toLowerCase());
})
.map(SuggestionEntry::new)
.forEach(suggestion::addEntry));
final Argument<String> relationalSourceArgument = ArgumentType.String("relational")
.setSuggestionCallback((_, _, suggestion) -> parseRelNode.providePlayerSuggestions()
.stream()
.filter(s -> {
final String[] args = suggestion.getInput().replace("\0", "").split(" ");
return args.length < 4 || s.toLowerCase().startsWith(args[3].toLowerCase());
})
.map(SuggestionEntry::new)
.forEach(suggestion::addEntry));
final Argument<String[]> messageArgument = ArgumentType.StringArray("message");
this.setCondition(new WrappingCondition(parseRelNode::hasPermission));
this.addSyntax((sender, context) -> {
final String source = context.get(sourceArgument);
final String relationalSource = context.get(relationalSourceArgument);
final String[] message = context.get(messageArgument);
parseRelNode.parseString(sender, source, relationalSource, String.join(" ", message));
}, sourceArgument, relationalSourceArgument, messageArgument);
}
}
private record WrappingCondition(Predicate<Audience> predicate) implements CommandCondition {
@Override
public boolean canUse(@NonNull CommandSender sender, @Nullable String commandString) {
return predicate.test(sender);
}
}
private record WrappingExecutor(PlaceholderCommandExecutor executor) implements CommandExecutor {
@Override
public void apply(@NonNull CommandSender sender, @NonNull CommandContext context) {
executor.execute(sender);
}
}
}
@@ -0,0 +1,89 @@
package io.github.miniplaceholders.minestom;
import io.github.miniplaceholders.minestom.listener.AsyncPlayerConfigurationListener;
import net.kyori.adventure.util.TriState;
import net.minestom.server.Auth;
import net.minestom.server.MinecraftServer;
import net.minestom.server.extras.lan.OpenToLAN;
import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.time.Duration;
public class MinestomServer {
private static final Path MINIPLACEHOLDERS_TEST_FOLDER = Path.of("minestom", "test", "miniplaceholders");
private static final Path TEST_EXPANSION_FOLDER = Path.of("example-expansion-provider", "build", "libs");
static void main() throws IOException {
final MinecraftServer server = MinecraftServer.init(new Auth.Online());
MinecraftServer.getGlobalEventHandler().addListener(new AsyncPlayerConfigurationListener());
MinestomServer.copyTestExpansion();
MinestomMiniPlaceholders.initialize(
MINIPLACEHOLDERS_TEST_FOLDER,
(_, _) -> TriState.TRUE
);
OpenToLAN.open();
server.start("0.0.0.0", 25565);
Thread.ofPlatform().start(() -> {
try {
Thread.sleep(Duration.ofMinutes(2));
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.exit(0);
});
}
private static void copyTestExpansion() throws IOException {
if (!Files.exists(TEST_EXPANSION_FOLDER)) {
return;
}
final Path expansionsFolder = MINIPLACEHOLDERS_TEST_FOLDER.resolve("expansions");
// Delete previous expansions files
try (DirectoryStream<Path> stream = Files.newDirectoryStream(
expansionsFolder,
file -> file.getFileName().toString().endsWith(".jar"))
) {
stream.forEach(file -> {
try {
Files.delete(file);
} catch (IOException e) {
throw new RuntimeException(e);
}
});
}
// Copy latest example expansion file
try (final DirectoryStream<Path> stream = Files.newDirectoryStream(
TEST_EXPANSION_FOLDER,
file -> file.getFileName()
.toString().startsWith("miniplaceholders-example-expansion-provider"))
) {
stream.forEach(file -> {
if (!Files.exists(expansionsFolder)) {
try {
Files.createDirectories(expansionsFolder);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
try {
Files.copy(file, expansionsFolder.resolve(file.getFileName()), StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
throw new RuntimeException(e);
}
});
} catch (IOException e) {
System.out.println("An error occurred while loading expansion provider" + e);
}
}
}
@@ -0,0 +1,34 @@
package io.github.miniplaceholders.minestom.listener;
import net.minestom.server.MinecraftServer;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.entity.Player;
import net.minestom.server.event.EventListener;
import net.minestom.server.event.player.AsyncPlayerConfigurationEvent;
import net.minestom.server.instance.Instance;
import net.minestom.server.instance.block.Block;
import org.jspecify.annotations.NonNull;
public class AsyncPlayerConfigurationListener implements EventListener<AsyncPlayerConfigurationEvent> {
private final Instance instance;
public AsyncPlayerConfigurationListener() {
this.instance = MinecraftServer.getInstanceManager().createInstanceContainer();
instance.setGenerator(unit -> unit.modifier().fillHeight(0, 32, Block.GRASS_BLOCK));
}
@Override
public @NonNull Class<AsyncPlayerConfigurationEvent> eventType() {
return AsyncPlayerConfigurationEvent.class;
}
@Override
public @NonNull Result run(AsyncPlayerConfigurationEvent event) {
final Player player = event.getPlayer();
event.setSpawningInstance(instance);
player.setRespawnPoint(new Pos(0, 33, 0));
return Result.SUCCESS;
}
}
+1 -1
View File
@@ -17,7 +17,7 @@ dependencies {
tasks {
runServer {
jvmArgs("-Dcom.mojang.eula.agree=true")
minecraftVersion(libs.versions.minecraft.get())
minecraftVersion(libs.versions.paper.get().substringBefore('-'))
}
val projectVersion = project.version
processResources {
+5 -16
View File
@@ -16,31 +16,19 @@ pluginManagement {
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven("https://central.sonatype.com/repository/maven-snapshots/") {
name = "sonatype-snapshots"
mavenContent {
snapshotsOnly()
}
}
maven("https://repo.papermc.io/repository/maven-public/")
maven("https://repo.maven.apache.org/maven2/")
maven("https://repo.spongepowered.org/repository/")
maven("https://jitpack.io") {
mavenContent {
includeGroup("net.william278")
}
}
maven("https://jitpack.io")
maven("https://repo.jpenilla.xyz/snapshots/")
}
}
plugins {
id("quiet-fabric-loom") version "1.11.325"
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
id("com.vanniktech.maven.publish") version "0.34.0" apply false
kotlin("jvm") version "2.2.20" apply false
id("com.vanniktech.maven.publish") version "0.37.0" apply false
kotlin("jvm") version "2.4.21" apply false
}
arrayOf(
@@ -49,6 +37,7 @@ arrayOf(
"kotlin-ext",
"common",
"paper",
"minestom",
"velocity",
"fabric",
"sponge",
@@ -56,4 +45,4 @@ arrayOf(
).forEach {
include("miniplaceholders-$it")
project(":miniplaceholders-$it").projectDir = file(it)
}
}
+1 -1
View File
@@ -7,7 +7,7 @@ import kotlin.io.path.deleteIfExists
plugins {
id("miniplaceholders.auto.module")
id("miniplaceholders.shadow")
id("org.spongepowered.gradle.plugin") version "2.3.0"
alias(libs.plugins.spongegradle)
}
dependencies {