Compare commits

...
82 Commits
Author SHA1 Message Date
Jason Penilla d4396a20bb release: Version 2.1.7 2025-07-18 13:44:29 -07:00
renovate[bot] 2ef09d0669 chore(deps): Update plugin net.neoforged.moddev.repositories to v2.0.103 2025-07-17 20:36:43 -07:00
Jason Penilla f7c7afd7e5 Update for 1.21.8 2025-07-17 20:36:23 -07:00
renovate[bot] d05dc770a5 chore(deps): Update dependency org.checkerframework:checker-qual to v3.49.5 2025-07-11 10:17:07 -07:00
renovate[bot] f8ade792bf chore(deps): Update dependency net.kyori:adventure-bom to v4.23.0 2025-07-11 10:17:00 -07:00
Jason Penilla 7dba88c9d2 Update for 1.21.7 (#301) 2025-07-11 09:55:14 -07:00
Jason Penilla b24955e113 build: Update repositories 2025-07-11 09:35:12 -07:00
renovate[bot] 89b8cbb26e chore(deps): Update dependency org.junit.jupiter:junit-jupiter-engine to v5.13.3 2025-07-11 09:22:25 -07:00
renovate[bot] 25902d132b chore(deps): Update gradle and github actions 2025-07-08 13:38:31 -07:00
renovate[bot] b1308e92ef chore(deps): Update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.8 2025-07-01 11:30:30 -07:00
renovate[bot] 410272d025 chore(deps): Update dependency org.junit.jupiter:junit-jupiter-engine to v5.13.2 2025-06-29 19:03:52 -07:00
renovate[bot] e065283ae9 chore(deps): migrate config renovate.json 2025-06-29 19:03:45 -07:00
renovate[bot] c7a27a212f chore(deps): Update gradle and github actions 2025-06-29 18:58:01 -07:00
renovate[bot] ff99a0c231 chore(deps): Update dependency org.checkerframework:checker-qual to v3.49.4 2025-06-29 18:57:50 -07:00
renovate[bot] f8e8e81ace chore(deps): Update plugin org.gradle.toolchains.foojay-resolver-convention to v1 2025-06-29 18:57:39 -07:00
renovate[bot] 01a1091c5e chore(deps): Update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.7 2025-06-29 18:57:24 -07:00
Jason Penilla 77a200203c Update adventure-platform 2025-05-10 17:13:36 -07:00
renovate[bot] cd88a2b73d chore(deps): Update dependency net.kyori:adventure-bom to v4.21.0 2025-04-30 11:21:43 -07:00
Jason Penilla 6a9bb08a1b 2.1.7-SNAPSHOT 2025-04-27 20:37:18 -07:00
Jason Penilla eab3617449 release: Version 2.1.6 2025-04-27 20:04:34 -07:00
Jason Penilla 73de0a0cff Update adventure-platform and loom 2025-04-27 19:29:03 -07:00
renovate[bot] ae1ea24c97 chore(deps): Update gradle and github actions 2025-04-27 15:30:02 -07:00
renovate[bot] 77e64e78bc chore(deps): Update dependency net.neoforged:neoforge to v21.5.62-beta 2025-04-27 15:29:56 -07:00
renovate[bot] a1bacb1747 chore(deps): Update dependency net.fabricmc.fabric-api:fabric-api to v0.121.0+1.21.5 2025-04-27 15:29:50 -07:00
Jason Penilla 8e6f9ea77d Minecraft 1.21.5 (#278) 2025-04-16 22:17:56 -07:00
renovate[bot] 03a95129f7 chore(deps): Update dependency net.fabricmc:fabric-loader to v0.16.14 2025-04-16 21:53:11 -07:00
renovate[bot] 6fc1f06fd9 chore(deps): Update dependency org.junit.jupiter:junit-jupiter-engine to v5.12.2 2025-04-16 21:48:38 -07:00
renovate[bot] cf918948c8 chore(deps): Update gradle and github actions 2025-04-16 21:48:32 -07:00
renovate[bot] 96254e790f chore(deps): Update dependency net.kyori:adventure-bom to v4.20.0 2025-04-05 18:01:22 -07:00
renovate[bot] ba6613e622 chore(deps): Update dependency net.fabricmc:fabric-loader to v0.16.12 2025-04-05 17:54:24 -07:00
renovate[bot] 1a1a4359c8 chore(deps): Update dependency org.checkerframework:checker-qual to v3.49.2 2025-04-05 17:54:15 -07:00
renovate[bot] 3e01f4a40c chore(deps): Update dependency io.papermc:hangar-publish-plugin to v0.1.3 2025-04-05 17:54:05 -07:00
renovate[bot] 31c24fc0f7 chore(deps): Update adventurePlatformMod to v6.3.0 2025-04-05 17:53:51 -07:00
renovate[bot] 87b74f6343 chore(deps): Update dependency net.neoforged:neoforge to v21.4.123 2025-03-28 09:42:07 -07:00
renovate[bot] 558e0a1b2c chore(deps): Update dependency net.fabricmc.fabric-api:fabric-api to v0.119.2+1.21.4 2025-03-28 09:42:00 -07:00
renovate[bot] 3fd8465433 chore(deps): Update dependency org.spongepowered:configurate-hocon to v4.2.0 2025-03-28 09:41:27 -07:00
renovate[bot] 689563a56e chore(deps): Update dependency org.junit.jupiter:junit-jupiter-engine to v5.12.1 2025-03-28 09:41:16 -07:00
renovate[bot] 180002e0e1 chore(deps): Update gradle and github actions 2025-02-24 16:08:07 -07:00
renovate[bot] b39cfdeb56 chore(deps): Update dependency org.checkerframework:checker-qual to v3.49.0 2025-02-24 16:07:49 -07:00
renovate[bot] 9a74c14f00 chore(deps): Update dependency net.fabricmc.fabric-api:fabric-api to v0.118.0+1.21.4 2025-02-24 16:07:40 -07:00
renovate[bot] ad8233a4d2 chore(deps): Update dependency org.junit.jupiter:junit-jupiter-engine to v5.12.0 2025-02-24 16:07:32 -07:00
renovate[bot] 0df4bc3c59 chore(deps): Update dependency net.kyori:adventure-bom to v4.19.0 2025-02-24 16:07:11 -07:00
renovate[bot] 9f216d90e6 chore(deps): Update dependency net.neoforged:neoforge to v21.4.95-beta 2025-02-24 15:58:17 -07:00
renovate[bot] 4c3f049e06 chore(deps): Update dependency net.fabricmc:fabric-loader to v0.16.10 2025-02-24 15:58:11 -07:00
renovate[bot] 095841448d chore(deps): Update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.6 2025-02-24 15:58:04 -07:00
renovate[bot] 9378ea4d5d chore(deps): Update plugin sponge-gradle-plugin to v2.3.0 2025-01-01 21:39:08 -08:00
renovate[bot] 88a45eff62 chore(deps): Update dependency net.kyori:adventure-bom to v4.18.0 2025-01-01 21:38:58 -08:00
Jason Penilla a5a8d10940 Fix bukkit-bungeecord jar using deprecated Gradle features 2025-01-01 21:36:26 -08:00
Jason Penilla 79637815f6 Update Gradle wrapper to 8.12, loom to 1.9, switch to ModDevGradle for NeoForge 2025-01-01 21:20:46 -08:00
Jason Penilla 7f5a43f89f 2.1.6-SNAPSHOT 2025-01-01 20:59:37 -08:00
Jason Penilla c7a8656d3f release: Version 2.1.5 2025-01-01 20:51:28 -08:00
Jason Penilla a8a046d3ba build: Remove redundant configuration
Indra already does this
2025-01-01 20:47:26 -08:00
renovate[bot] cb8ffffe6f chore(deps): Update adventurePlatformMod to v6.2.0 2025-01-01 20:45:59 -08:00
Jason Penilla 3b15660097 Build with 1.21.4 2025-01-01 20:45:34 -08:00
renovate[bot] 80d16d2b13 chore(deps): Update dependency me.modmuss50:mod-publish-plugin to v0.8.4 2025-01-01 20:28:17 -08:00
renovate[bot] 16e8253fa0 chore(deps): Update dependency org.junit.jupiter:junit-jupiter-engine to v5.11.4 2025-01-01 20:28:09 -08:00
Jason Penilla a7042a8263 Update metadata to allow running on 1.21.4 2024-12-06 20:41:50 -07:00
renovate[bot] 9a77ed8b88 chore(deps): Update dependency net.neoforged:neoforge to v21.3.52-beta 2024-11-29 10:08:45 -07:00
renovate[bot] 9a2bba7fc3 chore(deps): Update dependency net.fabricmc:fabric-loader to v0.16.9 2024-11-28 17:52:22 -07:00
renovate[bot] a8c8848420 chore(deps): Update dependency org.checkerframework:checker-qual to v3.48.2 2024-11-28 17:52:06 -07:00
renovate[bot] 1ae536586e chore(deps): Update dependency net.fabricmc.fabric-api:fabric-api to v0.110.0+1.21.3 2024-11-28 17:51:45 -07:00
renovate[bot] b8a865a16f chore(deps): Update dependency me.modmuss50:mod-publish-plugin to v0.8.1 2024-11-28 17:51:37 -07:00
Jason Penilla 7de803fda2 build: use reproducible file order and time stamps 2024-11-26 18:29:08 -07:00
Jason Penilla 8d27f17184 Update metadata and velocity api 2024-11-06 18:50:44 -07:00
Jason Penilla 949ba5f21c 2.1.5-SNAPSHOT 2024-11-06 18:41:48 -07:00
Jason Penilla 10c0e521c3 release: Version 2.1.4 2024-11-06 18:34:48 -07:00
renovate[bot] 831894876c chore(deps): Update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.5 2024-11-06 18:29:36 -07:00
renovate[bot] d0618af8ea chore(deps): Update dependency net.neoforged:neoforge to v21.3.11-beta 2024-11-06 18:26:14 -07:00
renovate[bot] d79ead8b13 chore(deps): Update dependency org.junit.jupiter:junit-jupiter-engine to v5.11.3 2024-11-06 18:20:09 -07:00
Jason Penilla 9c17676b74 Minecraft 1.21.3 (#243)
* Initial update for Minecraft 1.21.3

* Update adventure-platform-mod

* Update README
2024-11-06 18:17:15 -07:00
renovate[bot] 230ed8142a chore(deps): Update dependency net.fabricmc:fabric-loader to v0.16.7 2024-10-15 12:19:56 -07:00
renovate[bot] f155500f49 chore(deps): Update dependency org.junit.jupiter:junit-jupiter-engine to v5.11.2 2024-10-15 12:19:32 -07:00
renovate[bot] 5afd801850 chore(deps): Update dependency org.junit.jupiter:junit-jupiter-engine to v5.11.1 2024-09-25 16:27:25 -07:00
renovate[bot] 2681390aad chore(deps): Update dependency net.fabricmc.fabric-api:fabric-api to v0.105.0+1.21.1 2024-09-25 16:26:22 -07:00
renovate[bot] 3a56d24107 chore(deps): Update dependency net.neoforged:neoforge to v21.1.61 2024-09-25 16:26:13 -07:00
renovate[bot] 13260762d4 chore(deps): Update dependency me.modmuss50:mod-publish-plugin to v0.7.4 2024-09-25 16:26:05 -07:00
renovate[bot] 42a2c56770 chore(deps): Update bstats to v3.1.0 2024-09-25 16:25:58 -07:00
renovate[bot] 921055f2b0 chore(deps): Update dependency gradle to v8.10.2 2024-09-25 16:25:51 -07:00
renovate[bot] a6af02ae63 chore(deps): Update dependency gradle to v8.10.1 2024-09-10 12:27:22 -07:00
Jason Penilla 22ff761ee0 chore(paper): Update comments 2024-09-10 12:26:32 -07:00
Jason Penilla 9a274d1550 fix(paper): Work around Paper bug to fix #211 2024-09-10 10:33:06 -07:00
Jason Penilla af6610cdb2 2.1.4-SNAPSHOT 2024-09-09 19:18:08 -07:00
27 changed files with 164 additions and 87 deletions

No files matched your search

+2
View File
@@ -117,3 +117,5 @@ run/
# Ignore Gradle build output directory
build/
.kotlin/
+11 -5
View File
@@ -1,4 +1,4 @@
![MiniMOTD logo](https://i.imgur.com/CXWwjOJ.png)
![MiniMOTD logo](resources/minimotd-logo.png)
[![build](https://img.shields.io/github/checks-status/jpenilla/MiniMOTD/master?label=build)](https://github.com/jpenilla/MiniMOTD/actions) [![latest release](https://img.shields.io/github/v/release/jpenilla/MiniMOTD)](https://github.com/jpenilla/MiniMOTD/releases)
@@ -14,18 +14,24 @@
- MiniMOTD is compatible with Spigot, however many features will not work. It is recommended to use Paper for full compatibility.
- [Sponge API 8](https://www.spongepowered.org/)
- [Sponge API 7](https://www.spongepowered.org/)
- [Fabric](https://fabricmc.net/) (Minecraft 1.21.1, requires [Fabric API](https://modrinth.com/mod/fabric-api))
- [NeoForge](https://neoforged.net/) (Minecraft 1.21.1)
- [Fabric](https://fabricmc.net/) (requires [Fabric API](https://modrinth.com/mod/fabric-api))
- [NeoForge](https://neoforged.net/)
#### Proxy Platforms
- [Velocity](https://velocitypowered.com/)
- [Waterfall](https://papermc.io/downloads#Waterfall) / Bungeecord
#### Downloads
Downloads can be obtained from [GitHub releases](https://github.com/jpenilla/MiniMOTD/releases). There is a separate jar for each platform, as well as a universal jar for all platforms. Paper and Spigot share the same jar, as do Waterfall and Bungeecord.
Downloads can be obtained from any of:
- [Modrinth](https://modrinth.com/plugin/minimotd)
- [Hangar](https://hangar.papermc.io/jmp/MiniMOTD)
- [GitHub releases](https://github.com/jpenilla/MiniMOTD/releases)
There is a separate jar for each platform. Paper and Spigot share the same jar, as do Waterfall and Bungeecord.
The `bukkit-bungeecord` jar is merged from the Paper/Spigot and Waterfall/Bungeecord jars for distribution on Spigot's site.
#### Configuration
See the [wiki](https://github.com/jpenilla/MiniMOTD/wiki) for configuration details
#### Screenshots
![demo motd image](https://i.ibb.co/1LRCV8b/minimotd-demo.png)
![demo motd image](resources/minimotd-demo.png)
+14 -5
View File
@@ -9,17 +9,26 @@ tasks.jar {
val platforms = setOf(
projects.minimotdBukkit,
projects.minimotdBungeecord,
).map { it.dependencyProject }
)
val platformsConfig = configurations.register("platforms") {
attributes.attribute(productionJarAttribute, "true")
isCanBeConsumed = false
isCanBeResolved = true
}
dependencies {
for (platform in platforms) {
platformsConfig.name(platform)
}
}
val dist = tasks.register<Jar>("bukkitAndBungeeJar") {
artifacts.add("archives", this)
archiveClassifier.set(null as String?)
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
for (platform in platforms) {
val jarTask = platform.miniMOTDPlatform.jarTask
from(zipTree(jarTask.flatMap { it.archiveFile }))
}
from(platformsConfig.flatMap { it.elements }.map { it.map { e -> zipTree(e) } })
}
miniMOTDPlatform {
+1 -1
View File
@@ -1,5 +1,5 @@
group=xyz.jpenilla
version=2.1.3
version=2.1.7
description=Use MiniMessage text formatting in the server list MOTD.
org.gradle.caching=true
@@ -1,6 +1,7 @@
import net.kyori.indra.git.IndraGitExtension
import org.gradle.accessors.dm.LibrariesForLibs
import org.gradle.api.Project
import org.gradle.api.attributes.Attribute
import org.gradle.api.provider.Provider
import org.gradle.kotlin.dsl.getByType
@@ -31,5 +32,7 @@ val bukkitVersions = listOf(
"1.18.2",
"1.19.4",
"1.20.6",
"1.21.1",
"1.21.8",
)
val productionJarAttribute = Attribute.of("minimotd.productionJar", String::class.java)
@@ -22,17 +22,18 @@ repositories {
mavenCentral {
mavenContent { releasesOnly() }
}
maven("https://oss.sonatype.org/content/repositories/snapshots/") {
mavenContent { snapshotsOnly() }
maven("https://repo.jpenilla.xyz/snapshots/") {
mavenContent {
snapshotsOnly()
includeGroup("xyz.jpenilla")
includeGroup("net.kyori") // TODO adventure-platform and adventure-platform-mod snapshots
}
}
maven("https://s01.oss.sonatype.org/content/repositories/snapshots/") {
maven("https://central.sonatype.com/repository/maven-snapshots/") {
mavenContent { snapshotsOnly() }
}
maven("https://repo.papermc.io/repository/maven-public/")
maven("https://repo.spongepowered.org/repository/maven-public/")
maven("https://repo.jpenilla.xyz/snapshots/") {
mavenContent { snapshotsOnly() }
}
}
dependencies {
@@ -23,11 +23,11 @@ hangarPublish.publications.register("plugin") {
}
velocity {
jar.set(jar("velocity"))
platformVersions.addAll("3.2")
platformVersions.addAll("3.4")
}
waterfall {
jar.set(jar("bungeecord"))
platformVersions.addAll("1.20")
platformVersions.addAll("1.21")
}
}
}
@@ -32,3 +32,10 @@ if (name != "minimotd-bukkit-bungeecord") {
}
}
}
configurations.consumable("productionJar") {
outgoing {
artifact(platformExtension.jarTask)
}
attributes.attribute(productionJarAttribute, "true")
}
+20 -18
View File
@@ -1,33 +1,34 @@
[plugins]
blossom = { id = "net.kyori.blossom", version = "2.1.0" }
sponge-gradle-plugin = { id = "org.spongepowered.gradle.plugin", version = "2.2.0" }
sponge-gradle-plugin = { id = "org.spongepowered.gradle.plugin", version = "2.3.0" }
run-paper = { id = "xyz.jpenilla.run-paper", version.ref = "run-task" }
run-velocity = { id = "xyz.jpenilla.run-velocity", version.ref = "run-task" }
run-waterfall = { id = "xyz.jpenilla.run-waterfall", version.ref = "run-task" }
[versions]
run-task = "2.3.1"
mod-publish-plugin = "0.7.3"
hangarPublishPlugin = "0.1.2"
mod-publish-plugin = "0.8.4"
hangarPublishPlugin = "0.1.3"
indra = "3.1.3"
shadow = "8.3.0"
adventure = "4.17.0"
adventurePlatform = "4.3.4"
adventurePlatformFabric = "5.14.1"
configurate = "4.1.2"
checkerQual = "3.47.0"
shadow = "8.3.8"
adventure = "4.23.0"
adventurePlatform = "4.4.1-SNAPSHOT"
adventurePlatformMod = "6.5.0-SNAPSHOT"
configurate = "4.2.0"
checkerQual = "3.49.5"
slf4j = "1.7.32"
gson = "2.8.0"
bstats = "3.0.3"
bstats = "3.1.0"
paperApi = "1.16.5-R0.1-SNAPSHOT"
paperlib = "1.0.8"
waterfallApi = "1.16-R0.5-SNAPSHOT"
fabricApi = "0.103.0+1.21.1"
fabricLoader = "0.16.5"
minecraft = "1.21.1"
fabricApi = "0.129.0+1.21.8"
fabricLoader = "0.16.14"
minecraft = "1.21.8"
spongeApi7 = "7.2.0"
velocityApi = "3.3.0-SNAPSHOT"
jupiterEngine = "5.11.0"
velocityApi = "3.4.0-SNAPSHOT"
jupiterEngine = "5.13.3"
neoforge = "21.8.1-beta"
[libraries]
adventureBom = { group = "net.kyori", name = "adventure-bom", version.ref = "adventure" }
@@ -36,8 +37,8 @@ adventureTextSerializerPlain = { group = "net.kyori", name = "adventure-text-ser
adventureTextSerializerGson = { group = "net.kyori", name = "adventure-text-serializer-gson" }
adventurePlatformBungeecord = { group = "net.kyori", name = "adventure-platform-bungeecord", version.ref = "adventurePlatform" }
adventurePlatformBukkit = { group = "net.kyori", name = "adventure-platform-bukkit", version.ref = "adventurePlatform" }
adventurePlatformFabric = { group = "net.kyori", name = "adventure-platform-fabric", version.ref = "adventurePlatformFabric" }
adventurePlatformNeoforge = { group = "net.kyori", name = "adventure-platform-neoforge", version = "6.0.0" }
adventurePlatformFabric = { group = "net.kyori", name = "adventure-platform-fabric", version.ref = "adventurePlatformMod" }
adventurePlatformNeoforge = { group = "net.kyori", name = "adventure-platform-neoforge", version.ref = "adventurePlatformMod" }
adventurePlatformSpongeApi = { group = "net.kyori", name = "adventure-platform-spongeapi", version.ref = "adventurePlatform" }
minimessage = { group = "net.kyori", name = "adventure-text-minimessage" }
@@ -64,7 +65,8 @@ fabricApi = { group = "net.fabricmc.fabric-api", name = "fabric-api", version.re
fabricLoader = { group = "net.fabricmc", name = "fabric-loader", version.ref = "fabricLoader" }
minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft" }
neoforge = { module = "net.neoforged:neoforge", version = "21.1.42" }
# for renovate
zNeoforge = { module = "net.neoforged:neoforge", version.ref = "neoforge" }
spongeApi7 = { group = "org.spongepowered", name = "spongeapi", version.ref = "spongeApi7" }
Binary file not shown.
+1 -1
View File
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Vendored
+4 -5
View File
@@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -115,7 +114,7 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
@@ -206,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
@@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
# Stop when "xargs" is not available.
Vendored
+2 -2
View File
@@ -70,11 +70,11 @@ goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
set CLASSPATH=
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell
@@ -25,6 +25,9 @@ package xyz.jpenilla.minimotd.bukkit;
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
import io.papermc.lib.PaperLib;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.List;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -36,6 +39,18 @@ import xyz.jpenilla.minimotd.common.PingResponse;
import xyz.jpenilla.minimotd.common.config.MOTDConfig;
public final class PaperPingListener implements Listener {
private static final Method WORK_AROUND_PAPER_BUG;
static {
Method paperWorkaround;
try {
paperWorkaround = PaperServerListPingEvent.class.getMethod("getListedPlayers");
} catch (final NoSuchMethodException e) {
paperWorkaround = null;
}
WORK_AROUND_PAPER_BUG = paperWorkaround;
}
private final LegacyComponentSerializer unusualHexSerializer = LegacyComponentSerializer.builder().hexColors().useUnusualXRepeatedCharacterHexFormat().build();
private final MiniMOTD<CachedServerIcon> miniMOTD;
@@ -60,7 +75,17 @@ public final class PaperPingListener implements Listener {
response.icon(event::setServerIcon);
if (response.disablePlayerListHover()) {
event.getPlayerSample().clear();
if (WORK_AROUND_PAPER_BUG != null) {
// Newer Paper replaces getPlayerSample with getListedPlayers,
// the old method is supposed to still work, but it just silently does nothing on 1.20.6 (fixed in 1.21.1)
try {
((List) WORK_AROUND_PAPER_BUG.invoke(event)).clear();
} catch (final IllegalAccessException | InvocationTargetException e) {
throw new RuntimeException("Failed to invoke " + WORK_AROUND_PAPER_BUG.getName(), e);
}
} else {
event.getPlayerSample().clear();
}
}
if (response.hidePlayerCount()) {
event.setHidePlayers(true);
+1 -1
View File
@@ -18,7 +18,7 @@ tasks {
commonRelocation("org.bstats")
}
runWaterfall {
waterfallVersion("1.20")
waterfallVersion("1.21")
}
processResources {
val props = mapOf(
+1 -1
View File
@@ -1,5 +1,5 @@
plugins {
id("xyz.jpenilla.quiet-architectury-loom")
id("quiet-fabric-loom")
id("minimotd.platform-conventions")
id("com.gradleup.shadow")
}
@@ -34,7 +34,7 @@ import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
import net.fabricmc.loader.api.FabricLoader;
import net.kyori.adventure.platform.fabric.FabricServerAudiences;
import net.kyori.adventure.platform.modcommon.MinecraftServerAudiences;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.network.protocol.status.ServerStatus;
import net.minecraft.server.MinecraftServer;
@@ -57,7 +57,7 @@ public final class MiniMOTDFabric implements ModInitializer, MiniMOTDPlatform<Se
private final MiniMOTD<ServerStatus.Favicon> miniMOTD = new MiniMOTD<>(this);
private MinecraftServer server;
private FabricServerAudiences audiences;
private MinecraftServerAudiences audiences;
public MiniMOTDFabric() {
if (instance != null) {
@@ -75,7 +75,7 @@ public final class MiniMOTDFabric implements ModInitializer, MiniMOTDPlatform<Se
this.registerCommand();
ServerLifecycleEvents.SERVER_STARTING.register(minecraftServer -> {
this.server = minecraftServer;
this.audiences = FabricServerAudiences.of(minecraftServer);
this.audiences = MinecraftServerAudiences.of(minecraftServer);
});
ServerLifecycleEvents.SERVER_STARTED.register(minecraftServer -> {
if (this.miniMOTD.configManager().pluginSettings().updateChecker()) {
@@ -114,7 +114,7 @@ public final class MiniMOTDFabric implements ModInitializer, MiniMOTDPlatform<Se
));
}
public @NonNull FabricServerAudiences audiences() {
public @NonNull MinecraftServerAudiences audiences() {
return this.audiences;
}
@@ -69,9 +69,9 @@ abstract class ServerStatusPacketListenerImplMixin {
final MutableServerStatus modifiedStatus = new MutableServerStatus(vanillaStatus);
response.motd(motd -> {
if (((ConnectionAccess) this.connection).protocolVersion() >= Constants.MINECRAFT_1_16_PROTOCOL_VERSION) {
modifiedStatus.description(miniMOTDFabric.audiences().toNative(motd));
modifiedStatus.description(miniMOTDFabric.audiences().asNative(motd));
} else {
modifiedStatus.description(miniMOTDFabric.audiences().toNative(ComponentColorDownsampler.downsampler().downsample(motd)));
modifiedStatus.description(miniMOTDFabric.audiences().asNative(ComponentColorDownsampler.downsampler().downsample(motd)));
}
});
response.icon(favicon -> modifiedStatus.favicon(Optional.of(favicon)));
@@ -23,8 +23,9 @@
"minimotd-fabric.mixins.json"
],
"depends": {
"fabricloader": ">=0.15.11",
"fabric": "*",
"minecraft": ">=1.21 <=1.21.1"
"fabricloader": ">=0.16.14",
"fabric-api": "*",
"minecraft": "1.21.8",
"adventure-platform-fabric": "*"
}
}
+20 -14
View File
@@ -1,27 +1,25 @@
plugins {
id("xyz.jpenilla.quiet-architectury-loom")
id("net.neoforged.moddev")
id("minimotd.platform-conventions")
id("com.gradleup.shadow")
}
neoForge {
enable {
version = libs.versions.neoforge.get()
}
}
val shade: Configuration by configurations.creating
dependencies {
minecraft(libs.minecraft)
mappings(loom.officialMojangMappings())
neoForge(libs.neoforge)
shade(implementation(projects.minimotdCommon) {
exclude("net.kyori")
exclude("com.google.errorprone")
})
modImplementation(libs.adventurePlatformNeoforge)
include(libs.adventurePlatformNeoforge)
}
miniMOTDPlatform {
jarTask.set(tasks.remapJar)
implementation(libs.adventurePlatformNeoforge)
jarJar(libs.adventurePlatformNeoforge)
}
indra {
@@ -36,9 +34,6 @@ tasks {
commonConfiguration()
commonRelocation("io.leangen.geantyref")
}
remapJar {
archiveFileName.set("${project.name}-mc$minecraftVersion-${project.version}.jar")
}
processResources {
val replacements = mapOf(
"version" to project.version.toString(),
@@ -52,6 +47,17 @@ tasks {
}
}
val productionJar = tasks.register<Zip>("productionJar") {
archiveFileName = "${project.name}-mc$minecraftVersion-${project.version}.jar"
destinationDirectory = layout.buildDirectory.dir("libs")
from(zipTree(tasks.shadowJar.flatMap { it.archiveFile }))
from(tasks.jarJar.flatMap { it.outputDirectory })
}
miniMOTDPlatform {
jarTask.set(productionJar)
}
publishMods.modrinth {
modLoaders.add("neoforge")
minecraftVersions.addAll(minecraftVersion)
-1
View File
@@ -1 +0,0 @@
loom.platform=neoforge
@@ -23,7 +23,7 @@ side = "BOTH"
[[dependencies.minimotd]]
modId = "minecraft"
type = "required"
versionRange = "[1.21,1.21.2)"
versionRange = "[1.21.8,1.22)"
ordering = "NONE"
side = "BOTH"
+1 -1
View File
@@ -54,6 +54,6 @@ publishMods.modrinth {
"1.18.2",
"1.19.4",
"1.20.6",
"1.21.1",
"1.21.8",
)
}
+20 -7
View File
@@ -1,10 +1,10 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
"config:recommended"
],
"ignoreDeps": [
"xyz.jpenilla.quiet-architectury-loom",
"quiet-fabric-loom",
"com.mojang:minecraft",
"com.google.code.gson:gson"
],
@@ -14,24 +14,37 @@
"packageRules": [
{
"description": "Correct Fabric API version handling",
"matchPackageNames": ["net.fabricmc.fabric-api:fabric-api", "net.fabricmc.fabric-api:fabric-api-deprecated"],
"matchPackageNames": [
"net.fabricmc.fabric-api:fabric-api",
"net.fabricmc.fabric-api:fabric-api-deprecated"
],
"versioning": "regex:^(?<major>\\d+)(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?(?:\\+(?<compatibility>.*))?$"
},
{
"description": "Correct NeoForge version handling",
"matchPackageNames": ["net.neoforged:neoforge"],
"matchPackageNames": [
"net.neoforged:neoforge"
],
"versioning": "regex:^(?<compatibility>(\\d+\\.){2})(?<minor>\\d+)(-beta)?$"
},
{
"matchManagers": ["github-actions", "gradle-wrapper"],
"matchManagers": [
"github-actions",
"gradle-wrapper"
],
"groupName": "gradle and github actions"
},
{
"matchDepTypes": ["plugin"],
"matchDepTypes": [
"plugin"
],
"groupName": "gradle and github actions"
},
{
"matchPaths": ["build-logic/*", "buildSrc/*"],
"matchFileNames": [
"build-logic/*",
"buildSrc/*"
],
"groupName": "gradle and github actions"
}
],
Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

+9 -5
View File
@@ -4,16 +4,20 @@ pluginManagement {
repositories {
gradlePluginPortal()
maven("https://maven.fabricmc.net/")
maven("https://maven.neoforged.net/releases/")
maven("https://maven.architectury.dev/")
maven("https://repo.jpenilla.xyz/snapshots/")
maven("https://maven.neoforged.net/releases/") {
mavenContent { releasesOnly() }
}
maven("https://repo.jpenilla.xyz/snapshots/") {
mavenContent { snapshotsOnly() }
}
}
includeBuild("gradle/build-logic")
}
plugins {
id("xyz.jpenilla.quiet-architectury-loom") version "1.7-SNAPSHOT" apply false
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
id("net.neoforged.moddev.repositories") version "2.0.103" apply false
id("quiet-fabric-loom") version "1.11-SNAPSHOT" apply false
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
}
rootProject.name = "MiniMOTD"