From 6768279f21f2c1b297606e5977439f7e5d5fe237 Mon Sep 17 00:00:00 2001 From: TechGe3ks Date: Mon, 2 Jun 2025 21:46:24 -0500 Subject: [PATCH 01/12] Update ChatCooldowns to handle nulls On getTime method if the map does not contain the uuid return a 0 to prevent a null pointer exception Signed-off-by: TechGe3ks --- .../chatmanager/api/cooldowns/ChatCooldowns.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/ChatCooldowns.java b/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/ChatCooldowns.java index 46f76c50..871bcc06 100644 --- a/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/ChatCooldowns.java +++ b/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/ChatCooldowns.java @@ -22,7 +22,7 @@ public boolean containsUser(UUID uuid) { } public int getTime(UUID uuid) { - return map.get(uuid); + return containsUser(uuid) ? map.get(uuid) : 0; } public void subtract(UUID uuid) { @@ -32,4 +32,4 @@ public void subtract(UUID uuid) { public Map getUsers() { return Collections.unmodifiableMap(map); } -} \ No newline at end of file +} From ef9c15eada3faa7bd486fc374d5fc4dddef36861 Mon Sep 17 00:00:00 2001 From: TechGe3ks Date: Mon, 2 Jun 2025 21:56:31 -0500 Subject: [PATCH 02/12] Update ListenerAntiSpam to handle timer below zero Updated code to handle in case of the time being returned is less than zero to prevent the tasks from never finishing and being stuck in an endless loop Signed-off-by: TechGe3ks --- .../h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java b/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java index 4dec35b4..030aa1a4 100644 --- a/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java +++ b/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java @@ -81,7 +81,7 @@ public void run() { chatCooldowns.subtract(uuid); - if (time == 0) { + if (time <= 0) { chatCooldowns.removeUser(uuid); cooldownTask.removeUser(uuid); @@ -163,4 +163,4 @@ public void run() { } } } -} \ No newline at end of file +} From 5f94d6cabe186a680d069674372e72face23d2c2 Mon Sep 17 00:00:00 2001 From: Ryder Belserion Date: Tue, 3 Jun 2025 15:09:53 -0400 Subject: [PATCH 03/12] [ci-skip] Update feather plugin --- .github/workflows/snapshots.yml | 4 +- build.gradle.kts | 24 ++++++---- gradle/libs.versions.toml | 82 ++++++++++++++++----------------- 3 files changed, 56 insertions(+), 54 deletions(-) diff --git a/.github/workflows/snapshots.yml b/.github/workflows/snapshots.yml index a81717dd..c5f44180 100644 --- a/.github/workflows/snapshots.yml +++ b/.github/workflows/snapshots.yml @@ -1,11 +1,9 @@ name: Snapshot Build -env: - IS_SNAPSHOT: true on: workflow_dispatch: push: branches: - - main + - dev jobs: build: diff --git a/build.gradle.kts b/build.gradle.kts index 64a653b4..324f5573 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,15 +11,21 @@ rootProject.group = "me.h1dd3nxn1nja.chatmanager" val git = feather.getGit() val commitHash: String? = git.getCurrentCommitHash().subSequence(0, 7).toString() -val isSnapshot: Boolean = System.getenv("IS_SNAPSHOT") != null +val isSnapshot: Boolean = git.getCurrentBranch() == "dev" val content: String = if (isSnapshot) "[$commitHash](https://github.com/Crazy-Crew/${rootProject.name}/commit/$commitHash) ${git.getCurrentCommit()}" else rootProject.file("changelog.md").readText(Charsets.UTF_8) +val minecraft = libs.versions.minecraft.get() + +val versions = listOf( + //"1.21.6", + minecraft +) rootProject.version = version() rootProject.description = "The kitchen sink of Chat Management!" fun version(): String { if (isSnapshot) { - return "${libs.versions.minecraft.get()}-$commitHash" + return "$minecraft-$commitHash" } return libs.versions.chatmanager.get() @@ -28,7 +34,9 @@ fun version(): String { feather { rootDirectory = rootProject.rootDir.toPath() - val data = git.getCurrentCommitAuthorData().copy(author = git.getCurrentCommitAuthorName()) + val data = git.getGithubCommit("Crazy-Crew/${rootProject.name}") + + val user = data.user discord { webhook { @@ -39,9 +47,9 @@ feather { post(System.getenv("BUILD_WEBHOOK")) } - username(data.author) + username(user.getName()) - avatar(data.avatar) + avatar(user.avatar) embeds { embed { @@ -77,9 +85,9 @@ feather { post(System.getenv("BUILD_WEBHOOK")) } - username(data.author) + username(user.getName()) - avatar(data.avatar) + avatar(user.avatar) content("<@&1372358375433834537>") @@ -155,7 +163,7 @@ modrinth { changelog = content - gameVersions.addAll(listOf(libs.versions.minecraft.get())) + gameVersions.addAll(versions) uploadFile = tasks.jar.get().archiveFile.get() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index feaa358d..26c03166 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,3 +1,39 @@ +[versions] +## Paper +paperweight = "2.0.0-beta.17" # https://github.com/PaperMC/paperweight +paper = "1.21.5-R0.1-SNAPSHOT" # https://github.com/PaperMC/Paper + +## Minecraft +minecraft = "1.21.5" # https://minecraft.net + +## Plugin API +placeholderapi = "2.11.6" # https://github.com/placeholderapi +essentials = "2.20.1" # https://github.com/EssentialsX/Essentials +vault = "1.7.1" # https://github.com/MilkBowl/Vault + +## Other +bStats = "3.1.0" # https://github.com/Bastian/bStats +fusion = "1.6.0" # https://github.com/ryderbelserion/Fusion + +## ChatManager +chatmanager = "4.0.3" + +## Gradle Plugins +fix-javadoc = "1.19" # https://github.com/mfnalex/gradle-fix-javadoc-plugin +run-paper = "2.3.1" # https://github.com/jpenilla/run-task +minotaur = "2.8.7" # https://github.com/modrinth/minotaur +feather = "0.4.0" # https://github.com/ryderbelserion/Feather +hangar = "0.1.3" # https://github.com/HangarMC/hangar-publish-plugin +shadow = "9.0.0-beta13" # https://github.com/GradleUp/shadow + +[plugins] +# https://github.com/ryderbelserion/Feather +feather = { id = "com.ryderbelserion.feather.core", version.ref = "feather" } +# https://github.com/HangarMC/hangar-publish-plugin +hangar = { id = "io.papermc.hangar-publish-plugin", version.ref = "hangar" } +# https://github.com/modrinth/minotaur +minotaur = { id = "com.modrinth.minotaur", version.ref = "minotaur" } + [libraries] # https://github.com/PaperMC/paperweight paperweight = { module = "io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin", version.ref = "paperweight" } @@ -15,56 +51,16 @@ paper = { module = "io.papermc.paper:paper-api", version.ref = "paper" } placeholder-api = { group = "me.clip", name = "placeholderapi", version.ref = "placeholderapi" } essentials = { group = "net.essentialsx", name = "EssentialsX", version.ref = "essentials" } -# Fusion API +# https://github.com/ryderbelserion/Fusion fusion-paper = { module = "com.ryderbelserion.fusion:fusion-paper", version.ref = "fusion" } fusion-core = { module = "com.ryderbelserion.fusion:fusion-core", version.ref = "fusion" } -# bStats API +# https://github.com/Bastian/bStats metrics = { module = "org.bstats:bstats-bukkit", version.ref = "bStats" } -# Vault API +# https://github.com/MilkBowl/Vault vault = { group = "com.github.MilkBowl", name = "VaultAPI", version.ref = "vault" } -[versions] -paperweight = "2.0.0-beta.17" # https://github.com/PaperMC/paperweight -paper = "1.21.5-R0.1-SNAPSHOT" # https://github.com/PaperMC/Paper -run-paper = "2.3.1" # https://github.com/jpenilla/run-task -minecraft = "1.21.5" - -## GradleUp -shadow = "9.0.0-beta13" # https://github.com/GradleUp/shadow - -## Plugin API -placeholderapi = "2.11.6" # https://github.com/placeholderapi -itemsadder = "4.0.10" # https://github.com/ItemsAdder -oraxen = "1.190.0" # https://github.com/oraxen -nexo = "1.6.0" # https://github.com/Nexo-MC - -# Essentials API -essentials = "2.20.1" - -bStats = "3.1.0" # https://github.com/Bastian/bStats - -# Vault API -vault = "1.7.1" - -## Gradle Plugins -feather = "0.3.2" # https://github.com/ryderbelserion/Feather -minotaur = "2.8.7" # https://github.com/modrinth/minotaur -hangar = "0.1.3" # https://github.com/HangarMC/hangar-publish-plugin - -fusion = "1.6.0" # https://github.com/ryderbelserion/Fusion - -chatmanager = "4.0.3" - -[plugins] -# https://github.com/ryderbelserion/Feather -feather = { id = "com.ryderbelserion.feather.core", version.ref = "feather" } -# https://github.com/HangarMC/hangar-publish-plugin -hangar = { id = "io.papermc.hangar-publish-plugin", version.ref = "hangar" } -# https://github.com/modrinth/minotaur -minotaur = { id = "com.modrinth.minotaur", version.ref = "minotaur" } - [bundles] build = [ "shadow" From 78a1339948f53a23e3df37adb70158411b843719 Mon Sep 17 00:00:00 2001 From: Ryder Belserion Date: Tue, 3 Jun 2025 15:25:22 -0400 Subject: [PATCH 04/12] [ci-skip] Remove empty lines --- .../ryderbelserion/chatmanager/api/cooldowns/ChatCooldowns.java | 2 +- .../me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/ChatCooldowns.java b/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/ChatCooldowns.java index 871bcc06..0104ecf5 100644 --- a/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/ChatCooldowns.java +++ b/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/ChatCooldowns.java @@ -32,4 +32,4 @@ public void subtract(UUID uuid) { public Map getUsers() { return Collections.unmodifiableMap(map); } -} +} \ No newline at end of file diff --git a/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java b/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java index 030aa1a4..14f865fe 100644 --- a/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java +++ b/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java @@ -163,4 +163,4 @@ public void run() { } } } -} +} \ No newline at end of file From 0e26c74db362d9c84f9f3178f7515a5199cd7843 Mon Sep 17 00:00:00 2001 From: Ryder Belserion Date: Tue, 3 Jun 2025 15:44:18 -0400 Subject: [PATCH 05/12] Fix an issue with anti-spam commands/messages by using getOrDefault --- .../chatmanager/api/chat/logging/PreviousCmdData.java | 2 +- .../chatmanager/api/chat/logging/PreviousMsgData.java | 2 +- .../chatmanager/api/cooldowns/CmdCooldowns.java | 2 +- .../h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/paper/src/main/java/com/ryderbelserion/chatmanager/api/chat/logging/PreviousCmdData.java b/paper/src/main/java/com/ryderbelserion/chatmanager/api/chat/logging/PreviousCmdData.java index 66277d1c..3256de72 100644 --- a/paper/src/main/java/com/ryderbelserion/chatmanager/api/chat/logging/PreviousCmdData.java +++ b/paper/src/main/java/com/ryderbelserion/chatmanager/api/chat/logging/PreviousCmdData.java @@ -22,7 +22,7 @@ public boolean containsUser(UUID uuid) { } public String getMessage(UUID uuid) { - return map.get(uuid); + return map.getOrDefault(uuid, ""); } public Map getUsers() { diff --git a/paper/src/main/java/com/ryderbelserion/chatmanager/api/chat/logging/PreviousMsgData.java b/paper/src/main/java/com/ryderbelserion/chatmanager/api/chat/logging/PreviousMsgData.java index dc47b7b8..592a59ef 100644 --- a/paper/src/main/java/com/ryderbelserion/chatmanager/api/chat/logging/PreviousMsgData.java +++ b/paper/src/main/java/com/ryderbelserion/chatmanager/api/chat/logging/PreviousMsgData.java @@ -22,7 +22,7 @@ public boolean containsUser(UUID uuid) { } public String getMessage(UUID uuid) { - return map.get(uuid); + return map.getOrDefault(uuid, ""); } public Map getUsers() { diff --git a/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/CmdCooldowns.java b/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/CmdCooldowns.java index 1aa0a7ec..a9691ed6 100644 --- a/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/CmdCooldowns.java +++ b/paper/src/main/java/com/ryderbelserion/chatmanager/api/cooldowns/CmdCooldowns.java @@ -22,7 +22,7 @@ public boolean containsUser(UUID uuid) { } public int getTime(UUID uuid) { - return map.get(uuid); + return map.getOrDefault(uuid, 0); } public void subtract(UUID uuid) { diff --git a/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java b/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java index 14f865fe..1b9dbfd2 100644 --- a/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java +++ b/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/listeners/ListenerAntiSpam.java @@ -35,7 +35,7 @@ public void antiSpamChat(AsyncChatEvent event) { if (this.previousMsgData.containsUser(uuid) && !this.chatCooldowns.containsUser(uuid)) { final String msg = this.previousMsgData.getMessage(uuid); - if (message.equalsIgnoreCase(msg)) { + if (!msg.isEmpty() && message.equalsIgnoreCase(msg)) { Messages.ANTI_SPAM_CHAT_REPETITIVE_MESSAGE.sendMessage(player); event.setCancelled(true); @@ -115,7 +115,7 @@ public void onSpamCommand(PlayerCommandPreprocessEvent event) { if (this.previousCmdData.containsUser(uuid) && !this.cmdCooldowns.containsUser(uuid)) { final String cmd = this.previousCmdData.getMessage(uuid); - if (command.equalsIgnoreCase(cmd)) { + if (!cmd.isEmpty() && command.equalsIgnoreCase(cmd)) { Messages.ANTI_SPAM_COMMAND_REPETITIVE_MESSAGE.sendMessage(player); event.setCancelled(true); From 1627c1edbb8e13352e6933583e42c52761aca1a8 Mon Sep 17 00:00:00 2001 From: Ryder Belserion Date: Wed, 11 Jun 2025 20:15:38 -0400 Subject: [PATCH 06/12] [ci-skip] Fix hangar publish? --- build.gradle.kts | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 324f5573..4fb52084 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -173,4 +173,44 @@ modrinth { autoAddDependsOn = false detectLoaders = false +} + +hangarPublish { + publications.register("plugin") { + apiKey.set(System.getenv("HANGAR_KEY")) + + id.set(rootProject.name) + + version.set(rootProject.version as String) + + channel.set(if (isSnapshot) "Beta" else "Release") + + changelog.set(content) + + platforms { + paper { + jar = tasks.jar.flatMap { it.archiveFile } + + platformVersions.set(versions) + + dependencies { + hangar("PlaceholderAPI") { + required = false + } + + hangar("Essentials") { + required = false + } + + url("SuperVanish", "https://www.spigotmc.org/resources/supervanish-be-invisible.1331/") { + required = false + } + + url("Vault", "https://www.spigotmc.org/resources/vault.34315/") { + required = false + } + } + } + } + } } \ No newline at end of file From e736d02b0abaa47818db6803c8dc7597cc9c1782 Mon Sep 17 00:00:00 2001 From: Isaac Kim Date: Wed, 11 Jun 2025 22:03:04 -0700 Subject: [PATCH 07/12] Fix SocialSpy receiver placeholder Update receiver placeholder from "{receiver" to "{receiver}" --- .../me/h1dd3nxn1nja/chatmanager/commands/CommandMessage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/commands/CommandMessage.java b/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/commands/CommandMessage.java index d56ab213..764be07b 100644 --- a/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/commands/CommandMessage.java +++ b/paper/src/main/java/me/h1dd3nxn1nja/chatmanager/commands/CommandMessage.java @@ -217,7 +217,7 @@ private boolean handleMessage(String[] args, Player player, StringBuilder messag if (contains) { Messages.SOCIAL_SPY_FORMAT.sendMessage(staff, new HashMap<>() {{ put("{player}", player.getName()); - put("{receiver", target.getName()); + put("{receiver}", target.getName()); put("{message}", message.toString()); }}); } From 5a1194382a54f40cecb314936a337b6bcc1cf4e6 Mon Sep 17 00:00:00 2001 From: Ryder Belserion Date: Thu, 19 Jun 2025 12:33:24 -0400 Subject: [PATCH 08/12] [ci-skip] Fix hangar publish --- .github/workflows/release.yml | 10 ++++------ .github/workflows/snapshots.yml | 5 +++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 25ad56b1..75035c8f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,12 +14,6 @@ jobs: with: distribution: temurin java-version: 21 - - name: Read Version Catalog - uses: SebRollen/toml-action@v1.2.0 - id: chatmanager_version - with: - file: "gradle/libs.versions.toml" - field: "versions.chatmanager" - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - name: Make gradlew executable @@ -30,6 +24,10 @@ jobs: run: ./gradlew modrinth --stacktrace env: MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} + - name: Publish to Hangar + run: ./gradlew publishAllPublicationsToHangar --stacktrace + env: + HANGAR_KEY: ${{ secrets.HANGAR_KEY }} - name: Notify Discord if: success() run: ./gradlew release-build --stacktrace diff --git a/.github/workflows/snapshots.yml b/.github/workflows/snapshots.yml index c5f44180..53cc0c03 100644 --- a/.github/workflows/snapshots.yml +++ b/.github/workflows/snapshots.yml @@ -26,6 +26,11 @@ jobs: env: MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} COMMIT_MESSAGE: ${{ join(github.event.commits.*.message, '
') }} + - name: Publish to Hangar + run: ./gradlew publishAllPublicationsToHangar --stacktrace + env: + HANGAR_KEY: ${{ secrets.HANGAR_KEY }} + COMMIT_MESSAGE: ${{ join(github.event.commits.*.message, '
') }} - name: Notify Discord if: success() run: ./gradlew dev-build --stacktrace From 40bd7f88ce6070459b0ac25b80a44699453bce0b Mon Sep 17 00:00:00 2001 From: Ryder Belserion Date: Sat, 5 Jul 2025 12:20:44 -0400 Subject: [PATCH 09/12] [ci-skip] Update paper run configurations --- .gitignore | 5 - paper/build.gradle.kts | 1 + paper/run/bukkit.yml | 43 --- paper/run/config/paper-global.yml | 142 ---------- paper/run/config/paper-world-defaults.yml | 318 ---------------------- paper/run/eula.txt | 3 - paper/run/server.properties | 64 ----- paper/run/spigot.yml | 182 ------------- 8 files changed, 1 insertion(+), 757 deletions(-) delete mode 100644 paper/run/bukkit.yml delete mode 100644 paper/run/config/paper-global.yml delete mode 100644 paper/run/config/paper-world-defaults.yml delete mode 100644 paper/run/eula.txt delete mode 100644 paper/run/server.properties delete mode 100644 paper/run/spigot.yml diff --git a/.gitignore b/.gitignore index cbf2c5fa..872e71b2 100644 --- a/.gitignore +++ b/.gitignore @@ -9,11 +9,6 @@ build/ ### Servers run/ -!paper/run/config -!paper/run/bukkit.yml -!paper/run/eula.txt -!paper/run/server.properties -!paper/run/spigot.yml ### Output jars/ \ No newline at end of file diff --git a/paper/build.gradle.kts b/paper/build.gradle.kts index 9efa2281..e8f87740 100644 --- a/paper/build.gradle.kts +++ b/paper/build.gradle.kts @@ -67,6 +67,7 @@ tasks { runServer { jvmArgs("-Dnet.kyori.ansi.colorLevel=truecolor") + jvmArgs("-Dcom.mojang.eula.agree=true") defaultCharacterEncoding = Charsets.UTF_8.name() diff --git a/paper/run/bukkit.yml b/paper/run/bukkit.yml deleted file mode 100644 index 7419721e..00000000 --- a/paper/run/bukkit.yml +++ /dev/null @@ -1,43 +0,0 @@ -# This is the Bukkit configuration file in Paper. -# As you can see, there's actually not that much to configure without any plugins. -# -# If you need help with the configuration or have any questions related to Paper, -# join us in our Discord or check the docs page. -# -# File Reference: https://docs.papermc.io/paper/reference/bukkit-configuration/ -# Docs: https://docs.papermc.io/ -# Discord: https://discord.gg/papermc -# Website: https://papermc.io/ - -settings: - allow-end: false - warn-on-overload: true - permissions-file: permissions.yml - update-folder: update - plugin-profiling: false - connection-throttle: 4000 - query-plugins: true - deprecated-verbose: default - shutdown-message: Server closed - minimum-api: none - use-map-color-cache: true -spawn-limits: - monsters: 70 - animals: 10 - water-animals: 5 - water-ambient: 20 - water-underground-creature: 5 - axolotls: 5 - ambient: 15 -chunk-gc: - period-in-ticks: 600 -ticks-per: - animal-spawns: 400 - monster-spawns: 1 - water-spawns: 1 - water-ambient-spawns: 1 - water-underground-creature-spawns: 1 - axolotl-spawns: 1 - ambient-spawns: 1 - autosave: 6000 -aliases: now-in-commands.yml diff --git a/paper/run/config/paper-global.yml b/paper/run/config/paper-global.yml deleted file mode 100644 index eccc79e7..00000000 --- a/paper/run/config/paper-global.yml +++ /dev/null @@ -1,142 +0,0 @@ -# This is the global configuration file for Paper. -# As you can see, there's a lot to configure. Some options may impact gameplay, so use -# with caution, and make sure you know what each option does before configuring. -# -# If you need help with the configuration or have any questions related to Paper, -# join us in our Discord or check the docs page. -# -# The world configuration options have been moved inside -# their respective world folder. The files are named paper-world.yml -# -# File Reference: https://docs.papermc.io/paper/reference/global-configuration/ -# Docs: https://docs.papermc.io/ -# Discord: https://discord.gg/papermc -# Website: https://papermc.io/ - -_version: 29 -anticheat: - obfuscation: - items: - all-models: - also-obfuscate: [] - dont-obfuscate: - - minecraft:lodestone_tracker - sanitize-count: true - enable-item-obfuscation: false - model-overrides: - minecraft:elytra: - also-obfuscate: [] - dont-obfuscate: - - minecraft:damage - sanitize-count: true -block-updates: - disable-chorus-plant-updates: false - disable-mushroom-block-updates: false - disable-noteblock-updates: false - disable-tripwire-updates: false -chunk-loading-advanced: - auto-config-send-distance: true - player-max-concurrent-chunk-generates: 0 - player-max-concurrent-chunk-loads: 0 -chunk-loading-basic: - player-max-chunk-generate-rate: -1.0 - player-max-chunk-load-rate: 100.0 - player-max-chunk-send-rate: 75.0 -chunk-system: - gen-parallelism: default - io-threads: -1 - worker-threads: -1 -collisions: - enable-player-collisions: true - send-full-pos-for-hard-colliding-entities: true -commands: - ride-command-allow-player-as-vehicle: false - suggest-player-names-when-null-tab-completions: true - time-command-affects-all-worlds: false -console: - enable-brigadier-completions: true - enable-brigadier-highlighting: true - has-all-permissions: false -item-validation: - book: - author: 8192 - page: 16384 - title: 8192 - book-size: - page-max: 2560 - total-multiplier: 0.98 - display-name: 8192 - lore-line: 8192 - resolve-selectors-in-books: false -logging: - deobfuscate-stacktraces: true -messages: - kick: - authentication-servers-down: - connection-throttle: Connection throttled! Please wait before reconnecting. - flying-player: - flying-vehicle: - no-permission: I'm sorry, but you do not have permission to perform this command. - Please contact the server administrators if you believe that this is in error. - use-display-name-in-quit-message: false -misc: - chat-threads: - chat-executor-core-size: -1 - chat-executor-max-size: -1 - client-interaction-leniency-distance: default - compression-level: default - fix-entity-position-desync: true - load-permissions-yml-before-plugins: true - max-joins-per-tick: 5 - region-file-cache-size: 256 - strict-advancement-dimension-check: false - use-alternative-luck-formula: false - use-dimension-type-for-custom-spawners: false - xp-orb-groups-per-area: default -packet-limiter: - all-packets: - action: KICK - interval: 7.0 - max-packet-rate: 500.0 - kick-message: - overrides: - ServerboundPlaceRecipePacket: - action: DROP - interval: 4.0 - max-packet-rate: 5.0 -player-auto-save: - max-per-tick: -1 - rate: -1 -proxies: - bungee-cord: - online-mode: true - proxy-protocol: false - velocity: - enabled: false - online-mode: true - secret: '' -scoreboards: - save-empty-scoreboard-teams: true - track-plugin-scoreboards: false -spam-limiter: - incoming-packet-threshold: 300 - recipe-spam-increment: 1 - recipe-spam-limit: 20 - tab-spam-increment: 1 - tab-spam-limit: 500 -spark: - enable-immediately: false - enabled: true -unsupported-settings: - allow-headless-pistons: false - allow-permanent-block-break-exploits: false - allow-piston-duplication: false - allow-unsafe-end-portal-teleportation: false - compression-format: ZLIB - perform-username-validation: true - skip-tripwire-hook-placement-validation: false - skip-vanilla-damage-tick-when-shield-blocked: false - update-equipment-on-player-actions: true -watchdog: - early-warning-delay: 10000 - early-warning-every: 5000 diff --git a/paper/run/config/paper-world-defaults.yml b/paper/run/config/paper-world-defaults.yml deleted file mode 100644 index 3ede446e..00000000 --- a/paper/run/config/paper-world-defaults.yml +++ /dev/null @@ -1,318 +0,0 @@ -# This is the world defaults configuration file for Paper. -# As you can see, there's a lot to configure. Some options may impact gameplay, so use -# with caution, and make sure you know what each option does before configuring. -# -# If you need help with the configuration or have any questions related to Paper, -# join us in our Discord or check the docs page. -# -# Configuration options here apply to all worlds, unless you specify overrides inside -# the world-specific config file inside each world folder. -# -# File Reference: https://docs.papermc.io/paper/reference/world-configuration/ -# Docs: https://docs.papermc.io/ -# Discord: https://discord.gg/papermc -# Website: https://papermc.io/ - -_version: 31 -anticheat: - anti-xray: - enabled: false - engine-mode: 1 - hidden-blocks: - - copper_ore - - deepslate_copper_ore - - raw_copper_block - - gold_ore - - deepslate_gold_ore - - iron_ore - - deepslate_iron_ore - - raw_iron_block - - coal_ore - - deepslate_coal_ore - - lapis_ore - - deepslate_lapis_ore - - mossy_cobblestone - - obsidian - - chest - - diamond_ore - - deepslate_diamond_ore - - redstone_ore - - deepslate_redstone_ore - - clay - - emerald_ore - - deepslate_emerald_ore - - ender_chest - lava-obscures: false - max-block-height: 64 - replacement-blocks: - - stone - - oak_planks - - deepslate - update-radius: 2 - use-permission: false -chunks: - auto-save-interval: default - delay-chunk-unloads-by: 10s - entity-per-chunk-save-limit: - arrow: -1 - ender_pearl: -1 - experience_orb: -1 - fireball: -1 - small_fireball: -1 - snowball: -1 - fixed-chunk-inhabited-time: -1 - flush-regions-on-save: false - max-auto-save-chunks-per-tick: 24 - prevent-moving-into-unloaded-chunks: false -collisions: - allow-player-cramming-damage: false - allow-vehicle-collisions: true - fix-climbing-bypassing-cramming-rule: false - max-entity-collisions: 8 - only-players-collide: false -command-blocks: - force-follow-perm-level: true - permissions-level: 2 -entities: - armor-stands: - do-collision-entity-lookups: true - tick: true - behavior: - allow-spider-world-border-climbing: true - baby-zombie-movement-modifier: 0.5 - cooldown-failed-beehive-releases: true - disable-chest-cat-detection: false - disable-creeper-lingering-effect: false - disable-player-crits: false - door-breaking-difficulty: - husk: - - HARD - vindicator: - - NORMAL - - HARD - zombie: - - HARD - zombie_villager: - - HARD - zombified_piglin: - - HARD - ender-dragons-death-always-places-dragon-egg: false - experience-merge-max-value: -1 - mobs-can-always-pick-up-loot: - skeletons: false - zombies: false - nerf-pigmen-from-nether-portals: false - only-merge-items-horizontally: false - parrots-are-unaffected-by-player-movement: false - phantoms-do-not-spawn-on-creative-players: true - phantoms-only-attack-insomniacs: true - phantoms-spawn-attempt-max-seconds: 119 - phantoms-spawn-attempt-min-seconds: 60 - piglins-guard-chests: true - pillager-patrols: - disable: false - spawn-chance: 0.2 - spawn-delay: - per-player: false - ticks: 12000 - start: - day: 5 - per-player: false - player-insomnia-start-ticks: 72000 - should-remove-dragon: false - spawner-nerfed-mobs-should-jump: false - zombie-villager-infection-chance: default - zombies-target-turtle-eggs: true - markers: - tick: true - mob-effects: - immune-to-wither-effect: - wither: true - wither-skeleton: true - spiders-immune-to-poison-effect: true - sniffer: - boosted-hatch-time: default - hatch-time: default - spawning: - all-chunks-are-slime-chunks: false - alt-item-despawn-rate: - enabled: false - items: - cobblestone: 300 - count-all-mobs-for-spawning: false - creative-arrow-despawn-rate: default - despawn-range-shape: ELLIPSOID - despawn-ranges: - ambient: - hard: default - soft: default - axolotls: - hard: default - soft: default - creature: - hard: default - soft: default - misc: - hard: default - soft: default - monster: - hard: default - soft: default - underground_water_creature: - hard: default - soft: default - water_ambient: - hard: default - soft: default - water_creature: - hard: default - soft: default - despawn-time: - llama_spit: disabled - snowball: disabled - disable-mob-spawner-spawn-egg-transformation: false - duplicate-uuid: - mode: SAFE_REGEN - safe-regen-delete-range: 32 - filter-bad-tile-entity-nbt-from-falling-blocks: true - filtered-entity-tag-nbt-paths: - - Pos - - Motion - - sleeping_pos - iron-golems-can-spawn-in-air: false - monster-spawn-max-light-level: default - non-player-arrow-despawn-rate: default - per-player-mob-spawns: true - scan-for-legacy-ender-dragon: true - skeleton-horse-thunder-spawn-chance: default - slime-spawn-height: - slime-chunk: - maximum: 40.0 - surface-biome: - maximum: 70.0 - minimum: 50.0 - spawn-limits: - ambient: -1 - axolotls: -1 - creature: -1 - monster: -1 - underground_water_creature: -1 - water_ambient: -1 - water_creature: -1 - ticks-per-spawn: - ambient: -1 - axolotls: -1 - creature: -1 - monster: -1 - underground_water_creature: -1 - water_ambient: -1 - water_creature: -1 - wandering-trader: - spawn-chance-failure-increment: 25 - spawn-chance-max: 75 - spawn-chance-min: 25 - spawn-day-length: 24000 - spawn-minute-length: 1200 - wateranimal-spawn-height: - maximum: default - minimum: default - tracking-range-y: - animal: default - display: default - enabled: false - misc: default - monster: default - other: default - player: default -environment: - disable-explosion-knockback: false - disable-ice-and-snow: false - disable-thunder: false - fire-tick-delay: 30 - frosted-ice: - delay: - max: 40 - min: 20 - enabled: true - generate-flat-bedrock: false - locate-structures-outside-world-border: false - max-block-ticks: 65536 - max-fluid-ticks: 65536 - nether-ceiling-void-damage-height: disabled - optimize-explosions: false - portal-create-radius: 16 - portal-search-radius: 128 - portal-search-vanilla-dimension-scaling: true - treasure-maps: - enabled: true - find-already-discovered: - loot-tables: default - villager-trade: false - void-damage-amount: 4.0 - void-damage-min-build-height-offset: -64.0 - water-over-lava-flow-speed: 5 -feature-seeds: - generate-random-seeds-for-all: false -fishing-time-range: - maximum: 600 - minimum: 100 -fixes: - disable-unloaded-chunk-enderpearl-exploit: false - falling-block-height-nerf: disabled - fix-items-merging-through-walls: false - prevent-tnt-from-moving-in-water: false - split-overstacked-loot: true - tnt-entity-height-nerf: disabled -hopper: - cooldown-when-full: true - disable-move-event: false - ignore-occluding-blocks: false -lootables: - auto-replenish: false - max-refills: -1 - refresh-max: 2d - refresh-min: 12h - reset-seed-on-fill: true - restrict-player-reloot: true - restrict-player-reloot-time: disabled - retain-unlooted-shulker-box-loot-table-on-non-player-break: true -maps: - item-frame-cursor-limit: 128 - item-frame-cursor-update-interval: 10 -max-growth-height: - bamboo: - max: 16 - min: 11 - cactus: 3 - reeds: 3 -misc: - alternate-current-update-order: HORIZONTAL_FIRST_OUTWARD - disable-end-credits: false - disable-relative-projectile-velocity: false - disable-sprint-interruption-on-attack: false - legacy-ender-pearl-behavior: false - max-leash-distance: default - redstone-implementation: VANILLA - shield-blocking-delay: 5 - show-sign-click-command-failure-msgs-to-player: false - update-pathfinding-on-block-update: true -scoreboards: - allow-non-player-entities-on-scoreboards: true - use-vanilla-world-scoreboard-name-coloring: false -spawn: - allow-using-signs-inside-spawn-protection: false -tick-rates: - behavior: - villager: - validatenearbypoi: -1 - container-update: 1 - dry-farmland: 1 - grass-spread: 1 - mob-spawner: 1 - sensor: - villager: - secondarypoisensor: 40 - wet-farmland: 1 -unsupported-settings: - disable-world-ticking-when-empty: false - fix-invulnerable-end-crystal-exploit: true diff --git a/paper/run/eula.txt b/paper/run/eula.txt deleted file mode 100644 index f4e3391a..00000000 --- a/paper/run/eula.txt +++ /dev/null @@ -1,3 +0,0 @@ -#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA). -#Fri May 09 13:50:37 EDT 2025 -eula=true \ No newline at end of file diff --git a/paper/run/server.properties b/paper/run/server.properties deleted file mode 100644 index 7f89e229..00000000 --- a/paper/run/server.properties +++ /dev/null @@ -1,64 +0,0 @@ -#Minecraft server properties -#Thu May 29 15:38:39 EDT 2025 -accepts-transfers=false -allow-flight=false -allow-nether=false -broadcast-console-to-ops=true -broadcast-rcon-to-ops=true -bug-report-link= -debug=false -difficulty=easy -enable-command-block=false -enable-jmx-monitoring=false -enable-query=false -enable-rcon=false -enable-status=true -enforce-secure-profile=true -enforce-whitelist=false -entity-broadcast-range-percentage=100 -force-gamemode=false -function-permission-level=2 -gamemode=survival -generate-structures=true -generator-settings={} -hardcore=false -hide-online-players=false -initial-disabled-packs= -initial-enabled-packs=vanilla -level-name=world -level-seed= -level-type=minecraft\:normal -log-ips=true -max-chained-neighbor-updates=1000000 -max-players=20 -max-tick-time=60000 -max-world-size=29999984 -motd=A Minecraft Server -network-compression-threshold=256 -online-mode=true -op-permission-level=4 -pause-when-empty-seconds=-1 -player-idle-timeout=0 -prevent-proxy-connections=false -pvp=true -query.port=25565 -rate-limit=0 -rcon.password= -rcon.port=25575 -region-file-compression=deflate -require-resource-pack=false -resource-pack= -resource-pack-id= -resource-pack-prompt= -resource-pack-sha1= -server-ip= -server-port=25565 -simulation-distance=10 -spawn-monsters=true -spawn-protection=16 -sync-chunk-writes=true -text-filtering-config= -text-filtering-version=0 -use-native-transport=true -view-distance=10 -white-list=false diff --git a/paper/run/spigot.yml b/paper/run/spigot.yml deleted file mode 100644 index c5b65540..00000000 --- a/paper/run/spigot.yml +++ /dev/null @@ -1,182 +0,0 @@ -# This is the Spigot configuration file for Paper. -# As you can see, there's tons to configure. Some options may impact gameplay, so use -# with caution, and make sure you know what each option does before configuring. -# -# If you need help with the configuration or have any questions related to Paper, -# join us in our Discord or check the docs page. -# -# File Reference: https://docs.papermc.io/paper/reference/spigot-configuration/ -# Docs: https://docs.papermc.io/ -# Discord: https://discord.gg/papermc -# Website: https://papermc.io/ - -settings: - debug: false - bungeecord: false - player-shuffle: 0 - netty-threads: 4 - attribute: - maxAbsorption: - max: 2048.0 - maxHealth: - max: 1024.0 - movementSpeed: - max: 1024.0 - attackDamage: - max: 2048.0 - user-cache-size: 1000 - save-user-cache-on-stop-only: false - sample-count: 12 - log-villager-deaths: true - log-named-deaths: true - timeout-time: 60 - restart-on-crash: true - restart-script: ./start.sh - moved-wrongly-threshold: 0.0625 - moved-too-quickly-multiplier: 10.0 -messages: - whitelist: You are not whitelisted on this server! - unknown-command: Unknown command. Type "/help" for help. - server-full: The server is full! - outdated-client: Outdated client! Please use {0} - outdated-server: Outdated server! I'm still on {0} - restart: Server is restarting -advancements: - disable-saving: false - disabled: - - minecraft:story/disabled -world-settings: - default: - below-zero-generation-in-existing-chunks: true - view-distance: default - simulation-distance: default - zombie-aggressive-towards-villager: true - enable-zombie-pigmen-portal-spawns: true - entity-activation-range: - animals: 32 - monsters: 32 - raiders: 64 - misc: 16 - water: 16 - villagers: 32 - flying-monsters: 32 - wake-up-inactive: - animals-max-per-tick: 4 - animals-every: 1200 - animals-for: 100 - monsters-max-per-tick: 8 - monsters-every: 400 - monsters-for: 100 - villagers-max-per-tick: 4 - villagers-every: 600 - villagers-for: 100 - flying-monsters-max-per-tick: 8 - flying-monsters-every: 200 - flying-monsters-for: 100 - villagers-work-immunity-after: 100 - villagers-work-immunity-for: 20 - villagers-active-for-panic: true - tick-inactive-villagers: true - ignore-spectators: false - entity-tracking-range: - players: 128 - animals: 96 - monsters: 96 - misc: 96 - display: 128 - other: 64 - growth: - cactus-modifier: 100 - cane-modifier: 100 - melon-modifier: 100 - mushroom-modifier: 100 - pumpkin-modifier: 100 - sapling-modifier: 100 - beetroot-modifier: 100 - carrot-modifier: 100 - potato-modifier: 100 - torchflower-modifier: 100 - wheat-modifier: 100 - netherwart-modifier: 100 - vine-modifier: 100 - cocoa-modifier: 100 - bamboo-modifier: 100 - sweetberry-modifier: 100 - kelp-modifier: 100 - twistingvines-modifier: 100 - weepingvines-modifier: 100 - cavevines-modifier: 100 - glowberry-modifier: 100 - pitcherplant-modifier: 100 - thunder-chance: 100000 - unload-frozen-chunks: false - nerf-spawner-mobs: false - mob-spawn-range: 8 - item-despawn-rate: 6000 - arrow-despawn-rate: 1200 - trident-despawn-rate: 1200 - merge-radius: - item: 0.5 - exp: -1.0 - ticks-per: - hopper-transfer: 8 - hopper-check: 1 - hopper-amount: 1 - hopper-can-load-chunks: false - hunger: - jump-walk-exhaustion: 0.05 - jump-sprint-exhaustion: 0.2 - combat-exhaustion: 0.1 - regen-exhaustion: 6.0 - swim-multiplier: 0.01 - sprint-multiplier: 0.1 - other-multiplier: 0.0 - wither-spawn-sound-radius: 0 - end-portal-sound-radius: 0 - dragon-death-sound-radius: 0 - hanging-tick-frequency: 100 - seed-village: 10387312 - seed-desert: 14357617 - seed-igloo: 14357618 - seed-jungle: 14357619 - seed-swamp: 14357620 - seed-monument: 10387313 - seed-shipwreck: 165745295 - seed-ocean: 14357621 - seed-outpost: 165745296 - seed-endcity: 10387313 - seed-slime: 987234911 - seed-nether: 30084232 - seed-mansion: 10387319 - seed-fossil: 14357921 - seed-portal: 34222645 - seed-ancientcity: 20083232 - seed-trailruins: 83469867 - seed-trialchambers: 94251327 - seed-buriedtreasure: 10387320 - seed-mineshaft: default - seed-stronghold: default - max-tnt-per-tick: 100 - max-tick-time: - tile: 50 - entity: 50 - verbose: false -players: - disable-saving: false -config-version: 12 -stats: - disable-saving: false - forced-stats: {} -commands: - tab-complete: 0 - send-namespaced: true - spam-exclusions: - - /skill - log: true - replace-commands: - - setblock - - summon - - testforblock - - tellraw - silent-commandblock-console: false - enable-spam-exclusions: false From b4bff965270144d9c1a82005ca91e97f679f2d9d Mon Sep 17 00:00:00 2001 From: Ryder Belserion Date: Thu, 24 Jul 2025 14:50:55 -0400 Subject: [PATCH 10/12] [ci-skip] Change output directory --- paper/build.gradle.kts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/paper/build.gradle.kts b/paper/build.gradle.kts index e8f87740..7f9ecfbe 100644 --- a/paper/build.gradle.kts +++ b/paper/build.gradle.kts @@ -35,6 +35,13 @@ tasks { } shadowJar { + archiveBaseName.set("${rootProject.name}-${rootProject.version}") + + copy { + from(project.layout.buildDirectory.dir("libs")) + into(rootProject.layout.buildDirectory.dir("libs")) + } + listOf( "com.ryderbelserion.fusion", "org.bstats" From 979975a3cfd7817b33841dc1a434662ab1bd734c Mon Sep 17 00:00:00 2001 From: Ryder Belserion Date: Thu, 24 Jul 2025 14:51:05 -0400 Subject: [PATCH 11/12] [ci-skip] Simplify version check --- build.gradle.kts | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 4fb52084..e1b625a7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,23 +14,11 @@ val commitHash: String? = git.getCurrentCommitHash().subSequence(0, 7).toString( val isSnapshot: Boolean = git.getCurrentBranch() == "dev" val content: String = if (isSnapshot) "[$commitHash](https://github.com/Crazy-Crew/${rootProject.name}/commit/$commitHash) ${git.getCurrentCommit()}" else rootProject.file("changelog.md").readText(Charsets.UTF_8) val minecraft = libs.versions.minecraft.get() +val versions = listOf(minecraft) -val versions = listOf( - //"1.21.6", - minecraft -) - -rootProject.version = version() +rootProject.version = if (isSnapshot) "$minecraft-$commitHash" else libs.versions.chatmanager.get() rootProject.description = "The kitchen sink of Chat Management!" -fun version(): String { - if (isSnapshot) { - return "$minecraft-$commitHash" - } - - return libs.versions.chatmanager.get() -} - feather { rootDirectory = rootProject.rootDir.toPath() From ac2820190d290998540d6126a806fb5c9fd18894 Mon Sep 17 00:00:00 2001 From: Ryder Belserion Date: Thu, 13 Nov 2025 13:34:33 -0500 Subject: [PATCH 12/12] [ci-skip] Update username and avatar in build.gradle.kts Signed-off-by: Ryder Belserion --- build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index e1b625a7..16cea6d2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -35,9 +35,9 @@ feather { post(System.getenv("BUILD_WEBHOOK")) } - username(user.getName()) + username("Ryder Belserion") - avatar(user.avatar) + avatar("https://github.com/ryderbelserion.png") embeds { embed { @@ -201,4 +201,4 @@ hangarPublish { } } } -} \ No newline at end of file +}