diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 01f2033..9e15538 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,14 +26,16 @@ jobs: distribution: temurin cache: 'gradle' - name: build - run: chmod +x ./gradlew && ./gradlew build && ./gradlew mergeJars + run: chmod +x ./gradlew && ./gradlew build + - name: merge jars + run: ./gradlew mergeJars - name: capture build artifacts uses: actions/upload-artifact@v4 with: - name: Artifacts + name: teleport_commands-artifacts path: | - */build/libs - */Merged + **/build/libs/* !buildSrc/ !common/ + compression-level: 9 if-no-files-found: error \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8bc09e1..5612e93 100644 --- a/.gitignore +++ b/.gitignore @@ -10,13 +10,13 @@ out *.ipr *.iws *.iml -.idea/* +.idea !.idea/scopes # other run runs -Merged +merged # java hs_err_*.log diff --git a/CHANGELOG.md b/CHANGELOG.md index bb276de..2fb0436 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,17 +6,21 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### [W.I.P] -- Storage is loaded in memory instead of reading it again and again, Improves speed and IO usage, however there might be slightly higher memory usage. -- Adding comments to a lot of code (W.I.P) -- Made it so the DeathLocation (for `/back`) is only kept in memory -- Improved the Storage classes and functions (I'm doing proper java, yipie) -- Better error handling for command suggestions. +- Storage is loaded in memory instead of reading it again and again, Improves speed and IO usage, however there might be slightly higher passive memory usage. +- Added a new merged jar file that combines the jars of the mod-loaders into one. (Thanks to [forgix](https://github.com/PacifistMC/Forgix)!) (This will also from now on be published on Modrinth) +- Made it so the DeathLocations (for `/back`) are only kept in memory. (before they would get saved and deleted on startup lol) +- Improved the Storage classes and it's functions (I'm doing proper java, yipie) +- Improved the error messages for command suggestions. +- Improved the error handling for when a world isn't found (when going back, going home or warping). + - It now throws a warning and gives the player a new error message (before it would give an incorrect `notFound` error) +- Improved the sending of the homes/warps when doing `/home` or `/warps` (They now get sent in one message instead of multiple) +- Reduced the size of the mod icon by 60% (a 40kb reduction) using some `zopflipng` black magic. (sadly this only made the mod jar 5kb smaller :<) +- Removed the markdown for the translations from being bundled with the mod jar. - Added hover effects for warp and homes text (W.I.P) -- Throw a warning and an error message when the world isn't found (when going back, going home or warping), instead of giving an incorrect notFound error. +- Added comments to a lot of code (W.I.P) - Added a new `home.defaultNone` translation key for when there is no default house set. (before this would give `home.homeless` for some reason) - Added a new `common.worldNotFound` translation key for when a world cannot be found - Added a new `common.defaultPrompt` translation key for a new "Set Default" button for `/homes` -- Made it so that when printing the homes or warps, they get sent in one go. ### [v1.2.2] - Handled a case where the client (geyser) will return the language as uppercase instead of lowercase. diff --git a/README.md b/README.md index 5d3d2f3..22863fc 100644 --- a/README.md +++ b/README.md @@ -42,10 +42,11 @@ Here is the [Changelog](https://github.com/MrSn0wy/TeleportCommands/blob/main/CH #### Improvements: - [ ] Look into changing the mod into the more safe and sane kotlin (I love java) -- [ ] Find a way to combine the mod loader specific jars into one +- [ ] Add game tests - [ ] Find the easiest way to backport the mod to older version (help) - [ ] Create a config to add any delays and disable commands, with commands for operators in game - [ ] Add a perm system +- [x] Find a way to combine the mod loader specific jars into one - [x] Json Storage automatic updater & cleaner - [x] Modify /back to check if the location is safe and automatically choose a nearby location that is safe - [x] Limit tpa requests for a player diff --git a/build.gradle b/build.gradle index 1ec2b84..2eef6ed 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,8 @@ plugins { forgix { group = "dev.mrsnowy.teleport_commands" - mergedJarName = "${mod_id}-${minecraft_version}-${version}.jar" + mergedJarName = "${mod_id}-${minecraft_version}-v${version}.jar" + outputDir = "merged/build/libs" // NeoForge Project Configuration neoforge { @@ -15,13 +16,13 @@ forgix { // // Mixin configuration files (if applicable) // mixin "${mod_id}.mixins.json" // mixin "${mod_id}-forge.mixins.json" - jarLocation = "build/libs/${mod_id}-neoforge-${minecraft_version}-${version}.jar" + jarLocation = "build/libs/${mod_id}-neoforge-${minecraft_version}-v${version}.jar" } // Fabric Project Configuration fabric { projectName = "fabric" // Name of the Fabric subproject - jarLocation = "build/libs/${mod_id}-fabric-${minecraft_version}-${version}.jar" + jarLocation = "build/libs/${mod_id}-fabric-${minecraft_version}-v${version}.jar" } } \ No newline at end of file diff --git a/buildSrc/src/main/groovy/multiloader-common.gradle b/buildSrc/src/main/groovy/multiloader-common.gradle index 367a390..5956481 100644 --- a/buildSrc/src/main/groovy/multiloader-common.gradle +++ b/buildSrc/src/main/groovy/multiloader-common.gradle @@ -2,9 +2,9 @@ plugins { id 'java-library' } -base { - archivesName = "${mod_id}-${project.name}-${minecraft_version}" -} +//base { +// archivesName = "${mod_id}-${project.name}-${minecraft_version}" +//} java { toolchain.languageVersion = JavaLanguageVersion.of(java_version) @@ -38,8 +38,15 @@ dependencies { jar { + // Makes it so it uses the archive name I specify + archiveFileName.set("${mod_id}-${project.name}-${minecraft_version}-v${version}.jar") + + // Exclude some silly stuff to reduce size :3 + exclude "**/*.md" // Exclude all markdown files + + from(rootProject.file("LICENSE")) { - rename { "${it}_${mod_name}" } + rename { "${it}-${mod_id}" } } manifest { diff --git a/buildSrc/src/main/groovy/multiloader-loader.gradle b/buildSrc/src/main/groovy/multiloader-loader.gradle index 7b80f40..03c6556 100644 --- a/buildSrc/src/main/groovy/multiloader-loader.gradle +++ b/buildSrc/src/main/groovy/multiloader-loader.gradle @@ -22,17 +22,6 @@ dependencies { } tasks.named('compileJava', JavaCompile) { - doFirst { - fileTree('src/main/java').matching { - include 'path/to/TeleportCommands.java' - }.each { File file -> - def text = file.text - text = text.replace('${version}', project.version.toString()) - .replace('${mod_id}', mod_id.toString()) - .replace('${mod_name}', mod_name.toString()) - file.text = text - } - } dependsOn(configurations.commonJava) source(configurations.commonJava) } diff --git a/common/src/main/java/dev/mrsnowy/teleport_commands/storage/configManager.java b/common/src/main/java/dev/mrsnowy/teleport_commands/storage/configManager.java index b84cf27..8b307eb 100644 --- a/common/src/main/java/dev/mrsnowy/teleport_commands/storage/configManager.java +++ b/common/src/main/java/dev/mrsnowy/teleport_commands/storage/configManager.java @@ -10,4 +10,5 @@ public class configManager { // Make config for setting max homes // Make config that adds a delay between teleports and when fighting. (in teleport function?) // Make config that automatically deletes namedLocations (warps/homes) with invalid world id's + // Make config for setting the world_id for /worldspawn ? } diff --git a/common/src/main/resources/teleport_commands.png b/common/src/main/resources/teleport_commands.png index 84a46f2a49db66be5b017052162fd86c55b8190a..678c3ab6275b2e15e49b43707c9930dd0a9a6a90 100644 GIT binary patch literal 19556 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 Wt%)+9v=|r|7(8A5T-G@yGywpHp!v-J literal 58335 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ξlNKjEuf(C<-O<`dM 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 diff --git a/fabric/build.gradle b/fabric/build.gradle index 43c1cd4..978603e 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -34,4 +34,9 @@ loom { runDir("runs/server") } } +} + +// Fix for fabric - makes it so it uses the archive name I specify +tasks.named("remapJar") { + archiveFileName.set("${mod_id}-${project.name}-${minecraft_version}-v${version}.jar") } \ No newline at end of file diff --git a/neoforge/build.gradle b/neoforge/build.gradle index f49efb4..54820d0 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -23,9 +23,9 @@ runs { programArgument '--nogui' } - gameTestServer { - systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id - } +// gameTestServer { +// systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id +// } // data { // programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()