diff --git a/.dockerignore b/.dockerignore index f84b1d21..fe419538 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,6 +2,6 @@ **/.git/ **/dist/ **/*.sqlite -/mod +/mapsync-mod /notes /data diff --git a/.editorconfig b/.editorconfig index 94896965..b12541e1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,9 +8,6 @@ insert_final_newline = true indent_style = tab indent_size = 4 -[*.bat] -end_of_line = crlf - [*.{yml,yaml}] indent_style = space indent_size = 2 diff --git a/.github/workflows/build-mod.yml b/.github/workflows/build-mod.yml index a3e38e10..85b24a94 100644 --- a/.github/workflows/build-mod.yml +++ b/.github/workflows/build-mod.yml @@ -1,45 +1,42 @@ -name: Build Mod +name: "Build Mod" on: push: paths: - - "mod/**/*" + - "mapsync-mod/**/*" pull_request: paths: - - "mod/**/*" + - "mapsync-mod/**/*" jobs: build: - runs-on: ubuntu-latest + runs-on: "ubuntu-latest" steps: - - uses: actions/checkout@v3 - - name: Set up JDK 21 - uses: actions/setup-java@v3 + - uses: "actions/checkout@v6" + + - name: "Set up JDK 21" + uses: "actions/setup-java@v5" with: java-version: "21" distribution: "adopt" - - run: ./gradlew build - working-directory: ./mod - - name: Upload Forge Build - uses: actions/upload-artifact@v4 - with: - name: Forge - path: mod/dist/*-forge.jar + - name: "Compile mod" + run: "./gradlew build" + working-directory: "./mapsync-mod" - - name: Upload Fabric Build - uses: actions/upload-artifact@v4 + - name: "Upload Build" + uses: "actions/upload-artifact@v7" with: - name: Fabric - path: mod/dist/*-fabric.jar + name: "Fabric" + path: "mapsync-mod/dist/*.jar" - - name: Release Tag - if: startsWith(github.ref, 'refs/tags/v') - uses: softprops/action-gh-release@v1 + - name: "Release Tag" + if: "startsWith(github.ref, 'refs/tags/v')" + uses: "softprops/action-gh-release@v2" with: prerelease: true fail_on_unmatched_files: true files: | - mod/dist/*.jar + mapsync-mod/dist/*.jar env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/build-server.yml b/.github/workflows/build-server.yml index 14fc3376..fc153365 100644 --- a/.github/workflows/build-server.yml +++ b/.github/workflows/build-server.yml @@ -3,10 +3,10 @@ name: Build+Test Server on: push: paths: - - "server/**/*" + - "mapsync-server/**/*" pull_request: paths: - - "server/**/*" + - "mapsync-server/**/*" jobs: build: @@ -18,8 +18,8 @@ jobs: with: node-version: "18" - run: npm install - working-directory: ./server + working-directory: ./mapsync-server - run: npm run build - working-directory: ./server + working-directory: ./mapsync-server - run: npm run test - working-directory: ./server + working-directory: ./mapsync-server diff --git a/Dockerfile b/Dockerfile index ffc5ea8d..d223683f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,15 +4,15 @@ FROM node:18-alpine AS base WORKDIR /usr/src/app/ # contains various scripts, so include in all images -COPY ./server/package.json /usr/src/app/package.json +COPY ./mapsync-server/package.json /usr/src/app/package.json FROM base AS build -COPY ./server/package-lock.json /usr/src/app/package-lock.json +COPY ./mapsync-server/package-lock.json /usr/src/app/package-lock.json RUN npm install # copy source as late as possible, to reuse docker cache with node_modules -COPY ./server /usr/src/app +COPY ./mapsync-server /usr/src/app RUN npm run build FROM build AS test diff --git a/mod/.editorconfig b/mapsync-mod/.editorconfig similarity index 70% rename from mod/.editorconfig rename to mapsync-mod/.editorconfig index 8afa6410..b0767458 100644 --- a/mod/.editorconfig +++ b/mapsync-mod/.editorconfig @@ -1,4 +1,7 @@ # https://editorconfig.org +[*.bat] +end_of_line = crlf + [*.const] insert_final_newline = false diff --git a/mod/.gitignore b/mapsync-mod/.gitignore similarity index 100% rename from mod/.gitignore rename to mapsync-mod/.gitignore diff --git a/mapsync-mod/build.gradle.kts b/mapsync-mod/build.gradle.kts new file mode 100644 index 00000000..f1802a86 --- /dev/null +++ b/mapsync-mod/build.gradle.kts @@ -0,0 +1,107 @@ +plugins { + alias(libs.plugins.fabricLoom) +} + +private val mod_name = project.property("mod_name").toString() +version = "${project.property("mod_version")}-${libs.versions.minecraft.get()}" + +base { + archivesName = project.property("archives_base_name").toString() +} + +dependencies { + minecraft(libs.minecraft) + loom { + mappings(layered { + officialMojangMappings() + parchment(libs.parchment) + }) + } + modImplementation(libs.fabricLoader) + modImplementation(libs.fabricApi) + modLocalRuntime(libs.fixChat) + modImplementation(libs.modmenu) + + modImplementation(libs.voxelmap) + modCompileOnly(libs.journeymap) + modCompileOnly(libs.xaerosmap) +} + +repositories { + maven(url = "https://maven.parchmentmc.org") { + name = "ParchmentMC" + } + maven(url = "https://api.modrinth.com/maven") { + name = "Modrinth" + content { + includeGroup("maven.modrinth") + } + } + mavenCentral() +} + +java { + withSourcesJar() + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } +} + +tasks { + compileJava { + options.encoding = "UTF-8" + options.release = 21 + } + jar { + from(file("../LICENSE")) { + rename { "LICENSE_${mod_name}" } + } + } + processResources { + val expansions: Map = buildMap { + put("mod_name", mod_name) + put("mod_version", project.version) + putAll(listOf( + "mod_description", + "copyright_licence", + "mod_home_url", + "mod_source_url", + "mod_issues_url" + ).associateWith { project.property(it).toString() }) + put("minecraft_version", libs.versions.minecraft.get()) + put("fabric_loader_version", libs.versions.fabricLoader.get()) + } + inputs.properties(expansions) + filesMatching("fabric.mod.json") { + expand(expansions) + filter { + it.replace( + "\"%FABRIC_AUTHORS_ARRAY%\"", + groovy.json.JsonBuilder(project.property("mod_authors").toString().split(",")).toString() + ) + } + } + filesMatching("assets/mapsync/lang/en_us.json") { + expand(expansions) + } + filesMatching("mapsync.version.const") { + expand(expansions) + } + } + val distDir = file("./dist") + val cleanDistDir = register("cleanDistDir") { + delete(fileTree(distDir) { + include("*.jar") + }) + } + val copyDistJar = register("copyDistJar") { + dependsOn(cleanDistDir) + from(remapJar) + into(distDir) + } + build { + dependsOn(copyDistJar) + } +} diff --git a/mod/gradle.properties b/mapsync-mod/gradle.properties similarity index 50% rename from mod/gradle.properties rename to mapsync-mod/gradle.properties index 32fbaec5..19c1f2c6 100644 --- a/mod/gradle.properties +++ b/mapsync-mod/gradle.properties @@ -2,27 +2,11 @@ org.gradle.jvmargs=-Xmx2048M archives_base_name=MapSync maven_group=gjum.minecraft.mapsync -mod_version=2.1.0-1.21.11 -mod_display_name=MapSync +mod_version=2.2.0-SNAPSHOT +mod_name=MapSync mod_description=Real-time terrain synchronization: See exactly what your friends see, as they explore it. mod_authors=Gjum,Protonull,okx,Huskydog9988,specificlanguage,SirAlador,klaribot,Sheepy_9 copyright_licence=GPLv3 mod_home_url=https://github.com/CivPlatform/map-sync mod_source_url=https://github.com/CivPlatform/map-sync mod_issues_url=https://github.com/CivPlatform/map-sync/issues - -minecraft_version=1.21.11 -# https://parchmentmc.org/docs/getting-started -parchment_name=parchment-1.21.11 -parchment_version=2025.12.20 -enabled_platforms=fabric - -# https://fabricmc.net/versions.html -fabric_loader_version=0.18.4 -fabric_api_version=0.141.3+1.21.11 - -forge_version=1.21.1-61.1.1 -forge_major_version=61 - -# Architectuy Loom 1.14 is not available for JM 6.0.0 -loom.ignoreDependencyLoomVersionValidation=true diff --git a/mapsync-mod/gradle/libs.versions.toml b/mapsync-mod/gradle/libs.versions.toml new file mode 100644 index 00000000..2b6d44d7 --- /dev/null +++ b/mapsync-mod/gradle/libs.versions.toml @@ -0,0 +1,27 @@ +[versions] +minecraft = "1.21.11" +# https://fabricmc.net/versions.html +fabricLoom = "1.15-SNAPSHOT" +fabricLoader = "0.18.4" +fabricApi = "0.141.3+1.21.11" + +[libraries] +minecraft = { group = "com.mojang", name = "minecraft", version.ref = "minecraft" } +fabricLoader = { group = "net.fabricmc", name = "fabric-loader", version.ref = "fabricLoader" } +fabricApi = { group = "net.fabricmc.fabric-api", name = "fabric-api", version.ref = "fabricApi" } +# https://parchmentmc.org/docs/getting-started +parchment = { group = "org.parchmentmc.data", name = "parchment-1.21.11", version = "2025.12.20" } +# This is literally only here to make Minecraft SHUT UP about non-signed messages while testing. +# https://modrinth.com/mod/no-chat-reports/versions?l=fabric +fixChat = { group = "maven.modrinth", name = "no-chat-reports", version = "rhykGstm" } +# https://modrinth.com/mod/modmenu/versions?l=fabric +modmenu = { group = "maven.modrinth", name = "modmenu", version = "JWQVh32x" } +# https://modrinth.com/mod/voxelmap-updated/versions?l=fabric +voxelmap = { group = "maven.modrinth", name = "voxelmap-updated", version = "KgOVU4rn" } +# https://modrinth.com/mod/journeymap/versions?l=fabric +journeymap = { group = "maven.modrinth", name = "journeymap", version = "6vu2HyQi" } +# https://modrinth.com/mod/xaeros-world-map/versions?l=fabric +xaerosmap = { group = "maven.modrinth", name = "xaeros-world-map", version = "CkZVhVE0" } + +[plugins] +fabricLoom = { id = "fabric-loom", version.ref = "fabricLoom" } diff --git a/mapsync-mod/gradle/wrapper/gradle-wrapper.jar b/mapsync-mod/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00000000..d997cfc6 Binary files /dev/null and b/mapsync-mod/gradle/wrapper/gradle-wrapper.jar differ diff --git a/mod/gradle/wrapper/gradle-wrapper.properties b/mapsync-mod/gradle/wrapper/gradle-wrapper.properties similarity index 93% rename from mod/gradle/wrapper/gradle-wrapper.properties rename to mapsync-mod/gradle/wrapper/gradle-wrapper.properties index d4081da4..c61a118f 100644 --- a/mod/gradle/wrapper/gradle-wrapper.properties +++ b/mapsync-mod/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/mod/gradlew b/mapsync-mod/gradlew similarity index 93% rename from mod/gradlew rename to mapsync-mod/gradlew index f5feea6d..739907df 100755 --- a/mod/gradlew +++ b/mapsync-mod/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -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/2d6327017519d23b96af35865dc997fcb544fb40/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/. @@ -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,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -173,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -206,15 +203,14 @@ 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. 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. diff --git a/mod/gradlew.bat b/mapsync-mod/gradlew.bat similarity index 91% rename from mod/gradlew.bat rename to mapsync-mod/gradlew.bat index 9b42019c..c4bdd3ab 100644 --- a/mod/gradlew.bat +++ b/mapsync-mod/gradlew.bat @@ -1,94 +1,93 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -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 - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -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 - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -: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 +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +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 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +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 + +goto fail + +: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" %* + +: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 diff --git a/mapsync-mod/settings.gradle.kts b/mapsync-mod/settings.gradle.kts new file mode 100644 index 00000000..9c1eedef --- /dev/null +++ b/mapsync-mod/settings.gradle.kts @@ -0,0 +1,12 @@ +// Update Gradle Wrapper using: ./gradlew wrapper --distribution-type bin --gradle-version +// See Gradle's releases here: https://gradle.org/releases/ + +pluginManagement { + repositories { + maven(url = "https://maven.fabricmc.net/") + mavenCentral() + gradlePluginPortal() + } +} + +rootProject.name = "MapSync" diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/Cartography.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/Cartography.java similarity index 90% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/Cartography.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/Cartography.java index 7a25604f..c21e655d 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/Cartography.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/Cartography.java @@ -1,10 +1,13 @@ -package gjum.minecraft.mapsync.common; +package gjum.minecraft.mapsync.mod; -import gjum.minecraft.mapsync.common.data.*; -import gjum.minecraft.mapsync.common.utils.Shortcuts; +import gjum.minecraft.mapsync.mod.data.BlockColumn; +import gjum.minecraft.mapsync.mod.data.BlockInfo; +import gjum.minecraft.mapsync.mod.data.ChunkTile; +import gjum.minecraft.mapsync.mod.utils.Shortcuts; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import java.security.MessageDigest; +import java.util.ArrayList; import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; import net.minecraft.world.level.Level; @@ -12,8 +15,6 @@ import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.levelgen.Heightmap; -import java.util.ArrayList; - public class Cartography { public static ChunkTile chunkTileFromLevel(Level level, int cx, int cz) { long timestamp = System.currentTimeMillis(); diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/CatchupLogic.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/CatchupLogic.java similarity index 91% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/CatchupLogic.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/CatchupLogic.java index d75d001a..d0e26cfd 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/CatchupLogic.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/CatchupLogic.java @@ -1,16 +1,20 @@ -package gjum.minecraft.mapsync.common; +package gjum.minecraft.mapsync.mod; -import gjum.minecraft.mapsync.common.data.CatchupChunk; -import gjum.minecraft.mapsync.common.data.ChunkTile; +import static gjum.minecraft.mapsync.mod.MapSyncMod.debugLog; +import static gjum.minecraft.mapsync.mod.MapSyncMod.getMod; +import static gjum.minecraft.mapsync.mod.MapSyncMod.logger; + +import gjum.minecraft.mapsync.mod.data.CatchupChunk; +import gjum.minecraft.mapsync.mod.data.ChunkTile; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.ChunkPos; import org.jetbrains.annotations.NotNull; -import java.util.*; - -import static gjum.minecraft.mapsync.common.MapSyncMod.*; - public class CatchupLogic { int nearbyDistance = 20; // chunk distance from player to prioritize in requests diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/DimensionChunkMeta.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/DimensionChunkMeta.java similarity index 95% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/DimensionChunkMeta.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/DimensionChunkMeta.java index 49846874..51d2737c 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/DimensionChunkMeta.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/DimensionChunkMeta.java @@ -1,16 +1,17 @@ -package gjum.minecraft.mapsync.common; - -import gjum.minecraft.mapsync.common.data.RegionPos; -import net.minecraft.client.Minecraft; -import net.minecraft.world.level.ChunkPos; +package gjum.minecraft.mapsync.mod; +import gjum.minecraft.mapsync.mod.data.RegionPos; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.ByteBuffer; -import java.nio.file.*; +import java.nio.file.Files; +import java.nio.file.NoSuchFileException; +import java.nio.file.Path; import java.nio.file.attribute.FileTime; import java.util.Arrays; import java.util.HashMap; +import net.minecraft.client.Minecraft; +import net.minecraft.world.level.ChunkPos; /** * Stores each chunk's timestamp of when it was received from mc. diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/DimensionState.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/DimensionState.java similarity index 92% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/DimensionState.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/DimensionState.java index 9207e1fa..3241ffa7 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/DimensionState.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/DimensionState.java @@ -1,15 +1,16 @@ -package gjum.minecraft.mapsync.common; +package gjum.minecraft.mapsync.mod; -import gjum.minecraft.mapsync.common.data.*; +import static gjum.minecraft.mapsync.mod.MapSyncMod.debugLog; + +import gjum.minecraft.mapsync.mod.data.CatchupChunk; +import gjum.minecraft.mapsync.mod.data.ChunkTile; +import gjum.minecraft.mapsync.mod.data.RegionPos; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.Level; -import java.util.List; - -import static gjum.minecraft.mapsync.common.MapSyncMod.debugLog; - /** * contains any background processes and data structures, to be able to easily tear down when leaving the dimension */ diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/MapSyncMod.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/MapSyncMod.java similarity index 84% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/MapSyncMod.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/MapSyncMod.java index 1a366050..49b6e328 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/MapSyncMod.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/MapSyncMod.java @@ -1,14 +1,30 @@ -package gjum.minecraft.mapsync.common; +package gjum.minecraft.mapsync.mod; + +import static gjum.minecraft.mapsync.mod.Cartography.chunkTileFromLevel; import com.mojang.blaze3d.platform.InputConstants; -import gjum.minecraft.mapsync.common.config.ModConfig; -import gjum.minecraft.mapsync.common.config.ServerConfig; -import gjum.minecraft.mapsync.common.data.*; -import gjum.minecraft.mapsync.common.net.SyncClient; -import gjum.minecraft.mapsync.common.net.packet.*; +import gjum.minecraft.mapsync.mod.config.ModConfig; +import gjum.minecraft.mapsync.mod.config.ServerConfig; +import gjum.minecraft.mapsync.mod.data.CatchupChunk; +import gjum.minecraft.mapsync.mod.data.ChunkTile; +import gjum.minecraft.mapsync.mod.data.RegionPos; +import gjum.minecraft.mapsync.mod.net.SyncClient; +import gjum.minecraft.mapsync.mod.net.packet.ClientboundChunkTimestampsResponsePacket; +import gjum.minecraft.mapsync.mod.net.packet.ClientboundRegionTimestampsPacket; +import gjum.minecraft.mapsync.mod.net.packet.ServerboundCatchupRequestPacket; +import gjum.minecraft.mapsync.mod.net.packet.ServerboundChunkTimestampsRequestPacket; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; +import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; +import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.KeyMapping; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ServerData; @@ -21,12 +37,7 @@ import org.jetbrains.annotations.Nullable; import org.lwjgl.glfw.GLFW; -import java.util.*; -import java.util.stream.Collectors; - -import static gjum.minecraft.mapsync.common.Cartography.chunkTileFromLevel; - -public abstract class MapSyncMod { +public final class MapSyncMod implements ClientModInitializer { public static final String VERSION; static { final InputStream in = MapSyncMod.class.getResourceAsStream("/mapsync.version.const"); if (in == null) { @@ -84,25 +95,40 @@ public MapSyncMod() { INSTANCE = this; } - /** - * for example: 1.0.0+forge - */ - public abstract String getVersion(); + @Override + public void onInitializeClient() { + KeyBindingHelper.registerKeyBinding(openGuiKey); + + modConfig = ModConfig.load(); + modConfig.saveNow(); // creates the default file if it doesn't exist yet - public abstract boolean isDevMode(); + ClientTickEvents.START_CLIENT_TICK.register((minecraft) -> { + try { + handleTick(minecraft); + } + catch (Throwable e) { + e.printStackTrace(); + } + }); + } - public abstract void registerKeyBinding(KeyMapping mapping); - public void init() { - registerKeyBinding(openGuiKey); + /** + * for example: 1.0.0+forge + */ + public String getVersion() { + return VERSION + "+fabric"; + } - modConfig = ModConfig.load(); - modConfig.saveNow(); // creates the default file if it doesn't exist yet + public boolean isDevMode() { + return FabricLoader.getInstance().isDevelopmentEnvironment(); } - public void handleTick() { + public void handleTick( + final @NotNull Minecraft minecraft + ) { while (openGuiKey.consumeClick()) { - mc.setScreen(new ModGui(mc.screen)); + minecraft.setScreen(new ModGui(minecraft.screen)); } var dimensionState = getDimensionState(); diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/MixinManager.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/MixinManager.java similarity index 98% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/MixinManager.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/MixinManager.java index 81227ce0..851bad0c 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/MixinManager.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/MixinManager.java @@ -1,4 +1,4 @@ -package gjum.minecraft.mapsync.common; +package gjum.minecraft.mapsync.mod; import java.util.List; import java.util.Set; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/ModGui.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/ModGui.java similarity index 96% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/ModGui.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/ModGui.java index 9618ae50..2e4d639b 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/ModGui.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/ModGui.java @@ -1,6 +1,9 @@ -package gjum.minecraft.mapsync.common; +package gjum.minecraft.mapsync.mod; -import gjum.minecraft.mapsync.common.config.ServerConfig; +import static gjum.minecraft.mapsync.mod.MapSyncMod.getMod; + +import gjum.minecraft.mapsync.mod.config.ServerConfig; +import java.util.List; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.EditBox; @@ -8,10 +11,6 @@ import net.minecraft.network.chat.Component; import org.jetbrains.annotations.NotNull; -import java.util.List; - -import static gjum.minecraft.mapsync.common.MapSyncMod.getMod; - public class ModGui extends Screen { final Screen parentScreen; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/RenderQueue.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/RenderQueue.java similarity index 89% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/RenderQueue.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/RenderQueue.java index d2fa8384..1325eef9 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/RenderQueue.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/RenderQueue.java @@ -1,16 +1,15 @@ -package gjum.minecraft.mapsync.common; +package gjum.minecraft.mapsync.mod; -import gjum.minecraft.mapsync.common.data.ChunkTile; -import gjum.minecraft.mapsync.common.integrations.journeymap.JourneyMapHelper; -import gjum.minecraft.mapsync.common.integrations.voxelmap.VoxelMapHelper; -import gjum.minecraft.mapsync.common.integrations.xaerosmap.XaerosWorldMapHelper; -import net.minecraft.client.Minecraft; -import org.jetbrains.annotations.NotNull; +import static gjum.minecraft.mapsync.mod.MapSyncMod.debugLog; +import gjum.minecraft.mapsync.mod.data.ChunkTile; +import gjum.minecraft.mapsync.mod.integrations.journeymap.JourneyMapHelper; +import gjum.minecraft.mapsync.mod.integrations.voxelmap.VoxelMapHelper; +import gjum.minecraft.mapsync.mod.integrations.xaerosmap.XaerosWorldMapHelper; import java.util.Comparator; import java.util.concurrent.PriorityBlockingQueue; - -import static gjum.minecraft.mapsync.common.MapSyncMod.debugLog; +import net.minecraft.client.Minecraft; +import org.jetbrains.annotations.NotNull; public class RenderQueue { private final DimensionState dimensionState; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/Utils.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/Utils.java similarity index 95% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/Utils.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/Utils.java index 0b5eb931..44478af3 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/Utils.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/Utils.java @@ -1,13 +1,12 @@ -package gjum.minecraft.mapsync.common; +package gjum.minecraft.mapsync.mod; +import java.util.HashMap; import net.minecraft.client.Minecraft; import net.minecraft.core.Registry; import net.minecraft.core.registries.Registries; import net.minecraft.world.level.biome.Biome; import org.jetbrains.annotations.NotNull; -import java.util.HashMap; - public class Utils { public static final Minecraft mc = Minecraft.getInstance(); diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/config/JsonConfig.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/config/JsonConfig.java similarity index 91% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/config/JsonConfig.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/config/JsonConfig.java index 2eb1a3cb..6686ae9c 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/config/JsonConfig.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/config/JsonConfig.java @@ -1,13 +1,16 @@ -package gjum.minecraft.mapsync.common.config; +package gjum.minecraft.mapsync.mod.config; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import org.jetbrains.annotations.NotNull; - -import java.io.*; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.Timer; import java.util.TimerTask; +import org.jetbrains.annotations.NotNull; /** * subclasses must have constructor without args, to create default config diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/config/ModConfig.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/config/ModConfig.java similarity index 94% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/config/ModConfig.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/config/ModConfig.java index 88302ec9..f5f11006 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/config/ModConfig.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/config/ModConfig.java @@ -1,10 +1,9 @@ -package gjum.minecraft.mapsync.common.config; +package gjum.minecraft.mapsync.mod.config; import com.google.gson.annotations.Expose; -import net.minecraft.client.Minecraft; - import java.io.File; import java.nio.file.Path; +import net.minecraft.client.Minecraft; public class ModConfig extends JsonConfig { @Expose diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/config/ServerConfig.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/config/ServerConfig.java similarity index 93% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/config/ServerConfig.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/config/ServerConfig.java index 1bd1fd1b..93012791 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/config/ServerConfig.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/config/ServerConfig.java @@ -1,18 +1,19 @@ -package gjum.minecraft.mapsync.common.config; +package gjum.minecraft.mapsync.mod.config; + +import static gjum.minecraft.mapsync.mod.MapSyncMod.getMod; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.annotations.Expose; -import net.minecraft.client.Minecraft; -import org.jetbrains.annotations.NotNull; - import java.io.File; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; - -import static gjum.minecraft.mapsync.common.MapSyncMod.getMod; +import net.minecraft.client.Minecraft; +import org.jetbrains.annotations.NotNull; public class ServerConfig extends JsonConfig { public String gameAddress; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/BlockColumn.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/BlockColumn.java similarity index 90% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/data/BlockColumn.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/BlockColumn.java index 165e4e4a..ad4d15ce 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/BlockColumn.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/BlockColumn.java @@ -1,12 +1,11 @@ -package gjum.minecraft.mapsync.common.data; +package gjum.minecraft.mapsync.mod.data; -import io.netty.buffer.ByteBuf; -import net.minecraft.world.level.biome.Biome; +import static gjum.minecraft.mapsync.mod.Utils.getBiomeRegistry; +import io.netty.buffer.ByteBuf; import java.util.ArrayList; import java.util.List; - -import static gjum.minecraft.mapsync.common.Utils.getBiomeRegistry; +import net.minecraft.world.level.biome.Biome; public record BlockColumn( Biome biome, diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/BlockInfo.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/BlockInfo.java similarity index 92% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/data/BlockInfo.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/BlockInfo.java index 57252ab5..e854d1d2 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/BlockInfo.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/BlockInfo.java @@ -1,4 +1,4 @@ -package gjum.minecraft.mapsync.common.data; +package gjum.minecraft.mapsync.mod.data; import io.netty.buffer.ByteBuf; import net.minecraft.world.level.block.Block; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/CatchupChunk.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/CatchupChunk.java similarity index 91% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/data/CatchupChunk.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/CatchupChunk.java index 350ac528..c88bc0a6 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/CatchupChunk.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/CatchupChunk.java @@ -1,6 +1,6 @@ -package gjum.minecraft.mapsync.common.data; +package gjum.minecraft.mapsync.mod.data; -import gjum.minecraft.mapsync.common.net.SyncClient; +import gjum.minecraft.mapsync.mod.net.SyncClient; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.Level; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/ChunkTile.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/ChunkTile.java similarity index 88% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/data/ChunkTile.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/ChunkTile.java index bacdc4cf..28158247 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/ChunkTile.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/ChunkTile.java @@ -1,8 +1,8 @@ -package gjum.minecraft.mapsync.common.data; +package gjum.minecraft.mapsync.mod.data; -import gjum.minecraft.mapsync.common.net.Packet; -import gjum.minecraft.mapsync.common.utils.Arguments; -import gjum.minecraft.mapsync.common.utils.MagicValues; +import gjum.minecraft.mapsync.mod.net.Packet; +import gjum.minecraft.mapsync.mod.utils.Arguments; +import gjum.minecraft.mapsync.mod.utils.MagicValues; import io.netty.buffer.ByteBuf; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/RegionPos.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/RegionPos.java similarity index 88% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/data/RegionPos.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/RegionPos.java index cc24e9f1..d8c25d09 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/RegionPos.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/RegionPos.java @@ -1,4 +1,4 @@ -package gjum.minecraft.mapsync.common.data; +package gjum.minecraft.mapsync.mod.data; import net.minecraft.world.level.ChunkPos; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/RegionTimestamp.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/RegionTimestamp.java similarity index 61% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/data/RegionTimestamp.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/RegionTimestamp.java index 439d619d..8124976a 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/data/RegionTimestamp.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/data/RegionTimestamp.java @@ -1,4 +1,4 @@ -package gjum.minecraft.mapsync.common.data; +package gjum.minecraft.mapsync.mod.data; public record RegionTimestamp(short x, short z, long timestamp) { diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/journeymap/JourneyMapHelper.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/journeymap/JourneyMapHelper.java similarity index 91% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/journeymap/JourneyMapHelper.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/journeymap/JourneyMapHelper.java index ea380c89..bdd7390b 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/journeymap/JourneyMapHelper.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/journeymap/JourneyMapHelper.java @@ -1,9 +1,8 @@ -package gjum.minecraft.mapsync.common.integrations.journeymap; +package gjum.minecraft.mapsync.mod.integrations.journeymap; +import gjum.minecraft.mapsync.mod.data.ChunkTile; import java.util.regex.Pattern; -import gjum.minecraft.mapsync.common.data.ChunkTile; - public class JourneyMapHelper { public static boolean isJourneyMapNotAvailable; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/journeymap/JourneyMapHelperReal.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/journeymap/JourneyMapHelperReal.java similarity index 93% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/journeymap/JourneyMapHelperReal.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/journeymap/JourneyMapHelperReal.java index ddc7cec9..e2304b0b 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/journeymap/JourneyMapHelperReal.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/journeymap/JourneyMapHelperReal.java @@ -1,8 +1,10 @@ -package gjum.minecraft.mapsync.common.integrations.journeymap; +package gjum.minecraft.mapsync.mod.integrations.journeymap; -import gjum.minecraft.mapsync.common.data.BlockColumn; -import gjum.minecraft.mapsync.common.data.BlockInfo; -import gjum.minecraft.mapsync.common.data.ChunkTile; +import static gjum.minecraft.mapsync.mod.Utils.mc; + +import gjum.minecraft.mapsync.mod.data.BlockColumn; +import gjum.minecraft.mapsync.mod.data.BlockInfo; +import gjum.minecraft.mapsync.mod.data.ChunkTile; import journeymap.client.JourneymapClient; import journeymap.client.io.FileHandler; import journeymap.client.model.chunk.NBTChunkMD; @@ -16,8 +18,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.LevelChunk; -import static gjum.minecraft.mapsync.common.Utils.mc; - public class JourneyMapHelperReal { static boolean isMapping() { return JourneymapClient.getInstance().isMapping(); diff --git a/mod/fabric/src/main/java/gjum/minecraft/mapsync/fabric/integrations/modmenu/ModMenuIntegration.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/modmenu/ModMenuIntegration.java similarity index 79% rename from mod/fabric/src/main/java/gjum/minecraft/mapsync/fabric/integrations/modmenu/ModMenuIntegration.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/modmenu/ModMenuIntegration.java index d9b6d0e1..c21f01e1 100644 --- a/mod/fabric/src/main/java/gjum/minecraft/mapsync/fabric/integrations/modmenu/ModMenuIntegration.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/modmenu/ModMenuIntegration.java @@ -1,8 +1,8 @@ -package gjum.minecraft.mapsync.fabric.integrations.modmenu; +package gjum.minecraft.mapsync.mod.integrations.modmenu; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; -import gjum.minecraft.mapsync.common.ModGui; +import gjum.minecraft.mapsync.mod.ModGui; import org.jetbrains.annotations.NotNull; /** diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/voxelmap/VoxelMapHelper.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/voxelmap/VoxelMapHelper.java similarity index 80% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/voxelmap/VoxelMapHelper.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/voxelmap/VoxelMapHelper.java index c1308ab7..28a52958 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/voxelmap/VoxelMapHelper.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/voxelmap/VoxelMapHelper.java @@ -1,6 +1,6 @@ -package gjum.minecraft.mapsync.common.integrations.voxelmap; +package gjum.minecraft.mapsync.mod.integrations.voxelmap; -import gjum.minecraft.mapsync.common.data.ChunkTile; +import gjum.minecraft.mapsync.mod.data.ChunkTile; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/voxelmap/VoxelMapInternals.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/voxelmap/VoxelMapInternals.java similarity index 92% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/voxelmap/VoxelMapInternals.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/voxelmap/VoxelMapInternals.java index 77d3da07..3c02e89d 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/voxelmap/VoxelMapInternals.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/voxelmap/VoxelMapInternals.java @@ -1,15 +1,15 @@ -package gjum.minecraft.mapsync.common.integrations.voxelmap; +package gjum.minecraft.mapsync.mod.integrations.voxelmap; import com.mamiyaotaru.voxelmap.VoxelConstants; import com.mamiyaotaru.voxelmap.WaypointManager; import com.mamiyaotaru.voxelmap.persistent.CachedRegion; import com.mamiyaotaru.voxelmap.persistent.CompressibleMapData; import com.mamiyaotaru.voxelmap.persistent.EmptyCachedRegion; import com.mamiyaotaru.voxelmap.persistent.PersistentMap; -import gjum.minecraft.mapsync.common.data.BlockColumn; -import gjum.minecraft.mapsync.common.data.BlockInfo; -import gjum.minecraft.mapsync.common.data.ChunkTile; -import gjum.minecraft.mapsync.common.mixins.voxelmap.CachedRegionAccessor; -import gjum.minecraft.mapsync.common.mixins.voxelmap.PersistentMapAccessor; +import gjum.minecraft.mapsync.mod.data.BlockColumn; +import gjum.minecraft.mapsync.mod.data.BlockInfo; +import gjum.minecraft.mapsync.mod.data.ChunkTile; +import gjum.minecraft.mapsync.mod.mixins.voxelmap.CachedRegionAccessor; +import gjum.minecraft.mapsync.mod.mixins.voxelmap.PersistentMapAccessor; import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.ReentrantLock; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/xaerosmap/XaerosWorldMapHelper.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/xaerosmap/XaerosWorldMapHelper.java similarity index 78% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/xaerosmap/XaerosWorldMapHelper.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/xaerosmap/XaerosWorldMapHelper.java index 0b28bbc0..76b46bc8 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/xaerosmap/XaerosWorldMapHelper.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/xaerosmap/XaerosWorldMapHelper.java @@ -1,8 +1,6 @@ -package gjum.minecraft.mapsync.common.integrations.xaerosmap; +package gjum.minecraft.mapsync.mod.integrations.xaerosmap; -import gjum.minecraft.mapsync.common.data.ChunkTile; - -import static gjum.minecraft.mapsync.common.MapSyncMod.debugLog; +import gjum.minecraft.mapsync.mod.data.ChunkTile; public class XaerosWorldMapHelper { public static boolean isXaerosWorldMapNotAvailable; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/xaerosmap/XaerosWorldMapHelperReal.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/xaerosmap/XaerosWorldMapHelperReal.java similarity index 93% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/xaerosmap/XaerosWorldMapHelperReal.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/xaerosmap/XaerosWorldMapHelperReal.java index 8bcc0b83..a3763974 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/integrations/xaerosmap/XaerosWorldMapHelperReal.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/integrations/xaerosmap/XaerosWorldMapHelperReal.java @@ -1,8 +1,12 @@ -package gjum.minecraft.mapsync.common.integrations.xaerosmap; +package gjum.minecraft.mapsync.mod.integrations.xaerosmap; -import gjum.minecraft.mapsync.common.data.BlockColumn; -import gjum.minecraft.mapsync.common.data.BlockInfo; -import gjum.minecraft.mapsync.common.data.ChunkTile; +import static gjum.minecraft.mapsync.mod.MapSyncMod.debugLog; +import static gjum.minecraft.mapsync.mod.Utils.getBiomeRegistry; +import static gjum.minecraft.mapsync.mod.Utils.mc; + +import gjum.minecraft.mapsync.mod.data.BlockColumn; +import gjum.minecraft.mapsync.mod.data.BlockInfo; +import gjum.minecraft.mapsync.mod.data.ChunkTile; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.resources.ResourceKey; @@ -28,12 +32,6 @@ import xaero.map.region.MapTileChunk; import xaero.map.world.MapWorld; -import java.lang.reflect.Field; - -import static gjum.minecraft.mapsync.common.MapSyncMod.debugLog; -import static gjum.minecraft.mapsync.common.Utils.getBiomeRegistry; -import static gjum.minecraft.mapsync.common.Utils.mc; - public class XaerosWorldMapHelperReal { static boolean isMapping() { diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/MixinClientPacketListener.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/MixinClientPacketListener.java similarity index 81% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/MixinClientPacketListener.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/MixinClientPacketListener.java index ad03b42d..75093ad4 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/MixinClientPacketListener.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/MixinClientPacketListener.java @@ -1,17 +1,21 @@ -package gjum.minecraft.mapsync.common.mixins; +package gjum.minecraft.mapsync.mod.mixins; + +import static gjum.minecraft.mapsync.mod.MapSyncMod.getMod; +import static gjum.minecraft.mapsync.mod.Utils.printErrorRateLimited; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.core.BlockPos; -import net.minecraft.network.protocol.game.*; +import net.minecraft.network.protocol.game.ClientboundBlockDestructionPacket; +import net.minecraft.network.protocol.game.ClientboundBlockUpdatePacket; +import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket; +import net.minecraft.network.protocol.game.ClientboundLoginPacket; +import net.minecraft.network.protocol.game.ClientboundRespawnPacket; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static gjum.minecraft.mapsync.common.MapSyncMod.getMod; -import static gjum.minecraft.mapsync.common.Utils.printErrorRateLimited; - @Mixin(ClientPacketListener.class) public abstract class MixinClientPacketListener { diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/voxelmap/CachedRegionAccessor.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/voxelmap/CachedRegionAccessor.java similarity index 95% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/voxelmap/CachedRegionAccessor.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/voxelmap/CachedRegionAccessor.java index a68bb0a4..61c5bea8 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/voxelmap/CachedRegionAccessor.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/voxelmap/CachedRegionAccessor.java @@ -1,4 +1,4 @@ -package gjum.minecraft.mapsync.common.mixins.voxelmap; +package gjum.minecraft.mapsync.mod.mixins.voxelmap; import com.mamiyaotaru.voxelmap.persistent.CachedRegion; import com.mamiyaotaru.voxelmap.persistent.CompressibleMapData; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/voxelmap/PersistentMapAccessor.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/voxelmap/PersistentMapAccessor.java similarity index 93% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/voxelmap/PersistentMapAccessor.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/voxelmap/PersistentMapAccessor.java index 4038ada3..287259ef 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/voxelmap/PersistentMapAccessor.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/voxelmap/PersistentMapAccessor.java @@ -1,4 +1,4 @@ -package gjum.minecraft.mapsync.common.mixins.voxelmap; +package gjum.minecraft.mapsync.mod.mixins.voxelmap; import com.mamiyaotaru.voxelmap.persistent.CachedRegion; import com.mamiyaotaru.voxelmap.persistent.PersistentMap; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/voxelmap/VoxelMapMixin.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/voxelmap/VoxelMapMixin.java similarity index 82% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/voxelmap/VoxelMapMixin.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/voxelmap/VoxelMapMixin.java index bec160c6..56587ae8 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/mixins/voxelmap/VoxelMapMixin.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/mixins/voxelmap/VoxelMapMixin.java @@ -1,7 +1,7 @@ -package gjum.minecraft.mapsync.common.mixins.voxelmap; +package gjum.minecraft.mapsync.mod.mixins.voxelmap; import com.mamiyaotaru.voxelmap.VoxelMap; -import gjum.minecraft.mapsync.common.integrations.voxelmap.VoxelMapHelper; +import gjum.minecraft.mapsync.mod.integrations.voxelmap.VoxelMapHelper; import org.jetbrains.annotations.NotNull; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/ClientHandler.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/ClientHandler.java similarity index 81% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/ClientHandler.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/ClientHandler.java index 37e2fa90..8fd1a3ce 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/ClientHandler.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/ClientHandler.java @@ -1,15 +1,17 @@ -package gjum.minecraft.mapsync.common.net; +package gjum.minecraft.mapsync.mod.net; -import gjum.minecraft.mapsync.common.data.CatchupChunk; -import gjum.minecraft.mapsync.common.net.packet.*; +import static gjum.minecraft.mapsync.mod.MapSyncMod.getMod; + +import gjum.minecraft.mapsync.mod.data.CatchupChunk; +import gjum.minecraft.mapsync.mod.net.packet.ChunkTilePacket; +import gjum.minecraft.mapsync.mod.net.packet.ClientboundChunkTimestampsResponsePacket; +import gjum.minecraft.mapsync.mod.net.packet.ClientboundEncryptionRequestPacket; +import gjum.minecraft.mapsync.mod.net.packet.ClientboundRegionTimestampsPacket; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; - import java.io.IOException; import java.net.ConnectException; -import static gjum.minecraft.mapsync.common.MapSyncMod.getMod; - /** * tightly coupled to {@link SyncClient} */ diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/ClientboundPacketDecoder.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/ClientboundPacketDecoder.java similarity index 78% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/ClientboundPacketDecoder.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/ClientboundPacketDecoder.java index aac61eb0..f512afb8 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/ClientboundPacketDecoder.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/ClientboundPacketDecoder.java @@ -1,12 +1,14 @@ -package gjum.minecraft.mapsync.common.net; +package gjum.minecraft.mapsync.mod.net; -import gjum.minecraft.mapsync.common.net.packet.*; +import gjum.minecraft.mapsync.mod.net.packet.ChunkTilePacket; +import gjum.minecraft.mapsync.mod.net.packet.ClientboundChunkTimestampsResponsePacket; +import gjum.minecraft.mapsync.mod.net.packet.ClientboundEncryptionRequestPacket; +import gjum.minecraft.mapsync.mod.net.packet.ClientboundRegionTimestampsPacket; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.ReplayingDecoder; -import org.jetbrains.annotations.Nullable; - import java.util.List; +import org.jetbrains.annotations.Nullable; public class ClientboundPacketDecoder extends ReplayingDecoder { public static @Nullable Packet constructServerPacket(int id, ByteBuf buf) { diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/Packet.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/Packet.java similarity index 97% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/Packet.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/Packet.java index a622f670..83c482ce 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/Packet.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/Packet.java @@ -1,10 +1,10 @@ -package gjum.minecraft.mapsync.common.net; +package gjum.minecraft.mapsync.mod.net; import io.netty.buffer.ByteBuf; import java.nio.charset.StandardCharsets; import net.minecraft.core.Registry; -import net.minecraft.resources.ResourceKey; import net.minecraft.resources.Identifier; +import net.minecraft.resources.ResourceKey; import org.apache.commons.lang3.NotImplementedException; import org.jetbrains.annotations.NotNull; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/ServerboundPacketEncoder.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/ServerboundPacketEncoder.java similarity index 72% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/ServerboundPacketEncoder.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/ServerboundPacketEncoder.java index 56f8b746..e026aac5 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/ServerboundPacketEncoder.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/ServerboundPacketEncoder.java @@ -1,6 +1,10 @@ -package gjum.minecraft.mapsync.common.net; +package gjum.minecraft.mapsync.mod.net; -import gjum.minecraft.mapsync.common.net.packet.*; +import gjum.minecraft.mapsync.mod.net.packet.ChunkTilePacket; +import gjum.minecraft.mapsync.mod.net.packet.ServerboundCatchupRequestPacket; +import gjum.minecraft.mapsync.mod.net.packet.ServerboundChunkTimestampsRequestPacket; +import gjum.minecraft.mapsync.mod.net.packet.ServerboundEncryptionResponsePacket; +import gjum.minecraft.mapsync.mod.net.packet.ServerboundHandshakePacket; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/SyncClient.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/SyncClient.java similarity index 86% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/SyncClient.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/SyncClient.java index 7585433d..d55eb0bf 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/SyncClient.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/SyncClient.java @@ -1,19 +1,45 @@ -package gjum.minecraft.mapsync.common.net; +package gjum.minecraft.mapsync.mod.net; + +import static gjum.minecraft.mapsync.mod.MapSyncMod.debugLog; +import static gjum.minecraft.mapsync.mod.MapSyncMod.getMod; import com.mojang.authlib.exceptions.AuthenticationException; -import gjum.minecraft.mapsync.common.MapSyncMod; -import gjum.minecraft.mapsync.common.data.ChunkTile; -import gjum.minecraft.mapsync.common.net.encryption.EncryptionDecoder; -import gjum.minecraft.mapsync.common.net.encryption.EncryptionEncoder; -import gjum.minecraft.mapsync.common.net.packet.*; -import gjum.minecraft.mapsync.common.utils.Shortcuts; +import gjum.minecraft.mapsync.mod.MapSyncMod; +import gjum.minecraft.mapsync.mod.data.ChunkTile; +import gjum.minecraft.mapsync.mod.net.encryption.EncryptionDecoder; +import gjum.minecraft.mapsync.mod.net.encryption.EncryptionEncoder; +import gjum.minecraft.mapsync.mod.net.packet.ChunkTilePacket; +import gjum.minecraft.mapsync.mod.net.packet.ClientboundEncryptionRequestPacket; +import gjum.minecraft.mapsync.mod.net.packet.ServerboundEncryptionResponsePacket; +import gjum.minecraft.mapsync.mod.net.packet.ServerboundHandshakePacket; +import gjum.minecraft.mapsync.mod.utils.Shortcuts; import io.netty.bootstrap.Bootstrap; -import io.netty.channel.*; +import io.netty.channel.Channel; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelOption; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.handler.codec.LengthFieldBasedFrameDecoder; import io.netty.handler.codec.LengthFieldPrepender; +import java.security.InvalidKeyException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.PublicKey; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HexFormat; +import java.util.concurrent.ThreadLocalRandom; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.SecretKey; +import javax.crypto.spec.SecretKeySpec; import net.minecraft.client.Minecraft; import net.minecraft.client.User; import net.minecraft.world.level.ChunkPos; @@ -22,17 +48,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import javax.crypto.*; -import javax.crypto.spec.SecretKeySpec; -import java.security.*; -import java.util.*; -import java.util.concurrent.ThreadLocalRandom; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -import static gjum.minecraft.mapsync.common.MapSyncMod.debugLog; -import static gjum.minecraft.mapsync.common.MapSyncMod.getMod; - /** * handles reconnection, authentication, encryption */ diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/encryption/EncryptionDecoder.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/encryption/EncryptionDecoder.java similarity index 94% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/encryption/EncryptionDecoder.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/encryption/EncryptionDecoder.java index d456051a..d757e36e 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/encryption/EncryptionDecoder.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/encryption/EncryptionDecoder.java @@ -1,15 +1,14 @@ -package gjum.minecraft.mapsync.common.net.encryption; +package gjum.minecraft.mapsync.mod.net.encryption; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToMessageDecoder; - -import javax.crypto.Cipher; -import javax.crypto.ShortBufferException; -import javax.crypto.spec.IvParameterSpec; import java.security.GeneralSecurityException; import java.security.Key; import java.util.List; +import javax.crypto.Cipher; +import javax.crypto.ShortBufferException; +import javax.crypto.spec.IvParameterSpec; public class EncryptionDecoder extends MessageToMessageDecoder { private final EncryptionTranslator decryptionCodec; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/encryption/EncryptionEncoder.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/encryption/EncryptionEncoder.java similarity index 94% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/encryption/EncryptionEncoder.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/encryption/EncryptionEncoder.java index ef59d71f..b309cf1a 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/encryption/EncryptionEncoder.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/encryption/EncryptionEncoder.java @@ -1,14 +1,13 @@ -package gjum.minecraft.mapsync.common.net.encryption; +package gjum.minecraft.mapsync.mod.net.encryption; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; - +import java.security.GeneralSecurityException; +import java.security.Key; import javax.crypto.Cipher; import javax.crypto.ShortBufferException; import javax.crypto.spec.IvParameterSpec; -import java.security.GeneralSecurityException; -import java.security.Key; public class EncryptionEncoder extends MessageToByteEncoder { private final EncryptionTranslator encryptionCodec; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/encryption/EncryptionTranslator.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/encryption/EncryptionTranslator.java similarity index 96% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/encryption/EncryptionTranslator.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/encryption/EncryptionTranslator.java index 080afeca..030523e7 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/encryption/EncryptionTranslator.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/encryption/EncryptionTranslator.java @@ -1,8 +1,7 @@ -package gjum.minecraft.mapsync.common.net.encryption; +package gjum.minecraft.mapsync.mod.net.encryption; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; - import javax.crypto.Cipher; import javax.crypto.ShortBufferException; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ChunkTilePacket.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ChunkTilePacket.java similarity index 81% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ChunkTilePacket.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ChunkTilePacket.java index e48492d2..cef45aba 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ChunkTilePacket.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ChunkTilePacket.java @@ -1,7 +1,7 @@ -package gjum.minecraft.mapsync.common.net.packet; +package gjum.minecraft.mapsync.mod.net.packet; -import gjum.minecraft.mapsync.common.data.ChunkTile; -import gjum.minecraft.mapsync.common.net.Packet; +import gjum.minecraft.mapsync.mod.data.ChunkTile; +import gjum.minecraft.mapsync.mod.net.Packet; import io.netty.buffer.ByteBuf; import org.jetbrains.annotations.NotNull; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ClientboundChunkTimestampsResponsePacket.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ClientboundChunkTimestampsResponsePacket.java similarity index 89% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ClientboundChunkTimestampsResponsePacket.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ClientboundChunkTimestampsResponsePacket.java index 004ea0aa..7c2cfb73 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ClientboundChunkTimestampsResponsePacket.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ClientboundChunkTimestampsResponsePacket.java @@ -1,16 +1,15 @@ -package gjum.minecraft.mapsync.common.net.packet; +package gjum.minecraft.mapsync.mod.net.packet; -import gjum.minecraft.mapsync.common.data.CatchupChunk; -import gjum.minecraft.mapsync.common.net.Packet; +import gjum.minecraft.mapsync.mod.data.CatchupChunk; +import gjum.minecraft.mapsync.mod.net.Packet; import io.netty.buffer.ByteBuf; +import java.util.ArrayList; +import java.util.List; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; -import java.util.ArrayList; -import java.util.List; - /** * You'll receive this in response to a sent {@link ServerboundChunkTimestampsRequestPacket}, * containing an elaboration of chunk timestamps of all the regions you listed. diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ClientboundEncryptionRequestPacket.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ClientboundEncryptionRequestPacket.java similarity index 85% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ClientboundEncryptionRequestPacket.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ClientboundEncryptionRequestPacket.java index 67ff10cc..dda79720 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ClientboundEncryptionRequestPacket.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ClientboundEncryptionRequestPacket.java @@ -1,12 +1,13 @@ -package gjum.minecraft.mapsync.common.net.packet; +package gjum.minecraft.mapsync.mod.net.packet; -import gjum.minecraft.mapsync.common.net.Packet; +import gjum.minecraft.mapsync.mod.net.Packet; import io.netty.buffer.ByteBuf; -import org.jetbrains.annotations.NotNull; - -import java.security.*; +import java.security.KeyFactory; +import java.security.NoSuchAlgorithmException; +import java.security.PublicKey; import java.security.spec.InvalidKeySpecException; import java.security.spec.X509EncodedKeySpec; +import org.jetbrains.annotations.NotNull; /** * You will receive this in response to {@link ServerboundHandshakePacket}, and diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ClientboundRegionTimestampsPacket.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ClientboundRegionTimestampsPacket.java similarity index 88% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ClientboundRegionTimestampsPacket.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ClientboundRegionTimestampsPacket.java index d99821f6..93f7b1a2 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ClientboundRegionTimestampsPacket.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ClientboundRegionTimestampsPacket.java @@ -1,7 +1,7 @@ -package gjum.minecraft.mapsync.common.net.packet; +package gjum.minecraft.mapsync.mod.net.packet; -import gjum.minecraft.mapsync.common.data.RegionTimestamp; -import gjum.minecraft.mapsync.common.net.Packet; +import gjum.minecraft.mapsync.mod.data.RegionTimestamp; +import gjum.minecraft.mapsync.mod.net.Packet; import io.netty.buffer.ByteBuf; /** diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundCatchupRequestPacket.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundCatchupRequestPacket.java similarity index 90% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundCatchupRequestPacket.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundCatchupRequestPacket.java index edae312d..5857a0b9 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundCatchupRequestPacket.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundCatchupRequestPacket.java @@ -1,14 +1,13 @@ -package gjum.minecraft.mapsync.common.net.packet; +package gjum.minecraft.mapsync.mod.net.packet; -import gjum.minecraft.mapsync.common.data.CatchupChunk; -import gjum.minecraft.mapsync.common.net.Packet; +import gjum.minecraft.mapsync.mod.data.CatchupChunk; +import gjum.minecraft.mapsync.mod.net.Packet; import io.netty.buffer.ByteBuf; +import java.util.List; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; -import java.util.List; - /** * This is the final stage in the synchronisation process, sent in response to * a received {@link ClientboundChunkTimestampsResponsePacket}. Here you list diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundChunkTimestampsRequestPacket.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundChunkTimestampsRequestPacket.java similarity index 85% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundChunkTimestampsRequestPacket.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundChunkTimestampsRequestPacket.java index 0b01c4fd..51e455da 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundChunkTimestampsRequestPacket.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundChunkTimestampsRequestPacket.java @@ -1,11 +1,10 @@ -package gjum.minecraft.mapsync.common.net.packet; +package gjum.minecraft.mapsync.mod.net.packet; -import gjum.minecraft.mapsync.common.data.RegionPos; -import gjum.minecraft.mapsync.common.net.Packet; +import gjum.minecraft.mapsync.mod.data.RegionPos; +import gjum.minecraft.mapsync.mod.net.Packet; import io.netty.buffer.ByteBuf; -import org.jetbrains.annotations.NotNull; - import java.util.List; +import org.jetbrains.annotations.NotNull; /** * You send this in response to a {@link ClientboundRegionTimestampsPacket}, diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundEncryptionResponsePacket.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundEncryptionResponsePacket.java similarity index 90% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundEncryptionResponsePacket.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundEncryptionResponsePacket.java index e769f4c4..231360ba 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundEncryptionResponsePacket.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundEncryptionResponsePacket.java @@ -1,6 +1,6 @@ -package gjum.minecraft.mapsync.common.net.packet; +package gjum.minecraft.mapsync.mod.net.packet; -import gjum.minecraft.mapsync.common.net.Packet; +import gjum.minecraft.mapsync.mod.net.Packet; import io.netty.buffer.ByteBuf; import org.jetbrains.annotations.NotNull; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundHandshakePacket.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundHandshakePacket.java similarity index 92% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundHandshakePacket.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundHandshakePacket.java index e1bbc895..a4b970da 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/net/packet/ServerboundHandshakePacket.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/net/packet/ServerboundHandshakePacket.java @@ -1,6 +1,6 @@ -package gjum.minecraft.mapsync.common.net.packet; +package gjum.minecraft.mapsync.mod.net.packet; -import gjum.minecraft.mapsync.common.net.Packet; +import gjum.minecraft.mapsync.mod.net.Packet; import io.netty.buffer.ByteBuf; import org.jetbrains.annotations.NotNull; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/utils/Arguments.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/utils/Arguments.java similarity index 92% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/utils/Arguments.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/utils/Arguments.java index 9245690e..bd410f7f 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/utils/Arguments.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/utils/Arguments.java @@ -1,4 +1,4 @@ -package gjum.minecraft.mapsync.common.utils; +package gjum.minecraft.mapsync.mod.utils; import org.jetbrains.annotations.NotNull; diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/utils/MagicValues.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/utils/MagicValues.java similarity index 78% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/utils/MagicValues.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/utils/MagicValues.java index 301736ce..981cce65 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/utils/MagicValues.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/utils/MagicValues.java @@ -1,4 +1,4 @@ -package gjum.minecraft.mapsync.common.utils; +package gjum.minecraft.mapsync.mod.utils; public final class MagicValues { // SHA1 produces 160-bit (20-byte) hashes diff --git a/mod/common/src/main/java/gjum/minecraft/mapsync/common/utils/Shortcuts.java b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/utils/Shortcuts.java similarity index 89% rename from mod/common/src/main/java/gjum/minecraft/mapsync/common/utils/Shortcuts.java rename to mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/utils/Shortcuts.java index 7eeb74a3..1f39f2aa 100644 --- a/mod/common/src/main/java/gjum/minecraft/mapsync/common/utils/Shortcuts.java +++ b/mapsync-mod/src/main/java/gjum/minecraft/mapsync/mod/utils/Shortcuts.java @@ -1,4 +1,4 @@ -package gjum.minecraft.mapsync.common.utils; +package gjum.minecraft.mapsync.mod.utils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; diff --git a/mod/fabric/src/main/resources/assets/mapsync/icon.png b/mapsync-mod/src/main/resources/assets/mapsync/icon.png similarity index 100% rename from mod/fabric/src/main/resources/assets/mapsync/icon.png rename to mapsync-mod/src/main/resources/assets/mapsync/icon.png diff --git a/mapsync-mod/src/main/resources/assets/mapsync/lang/en_us.json b/mapsync-mod/src/main/resources/assets/mapsync/lang/en_us.json new file mode 100644 index 00000000..8e3e21bc --- /dev/null +++ b/mapsync-mod/src/main/resources/assets/mapsync/lang/en_us.json @@ -0,0 +1,4 @@ +{ + "key.map-sync.openGui": "Open GUI", + "key.category.mapsync.general": "${mod_name}" +} diff --git a/mod/common/src/main/resources/default-config.json b/mapsync-mod/src/main/resources/default-config.json similarity index 100% rename from mod/common/src/main/resources/default-config.json rename to mapsync-mod/src/main/resources/default-config.json diff --git a/mod/fabric/src/main/resources/fabric.mod.json b/mapsync-mod/src/main/resources/fabric.mod.json similarity index 68% rename from mod/fabric/src/main/resources/fabric.mod.json rename to mapsync-mod/src/main/resources/fabric.mod.json index e862cf8b..f6abe0f9 100644 --- a/mod/fabric/src/main/resources/fabric.mod.json +++ b/mapsync-mod/src/main/resources/fabric.mod.json @@ -2,7 +2,7 @@ "schemaVersion": 1, "id": "mapsync", "version": "${mod_version}", - "name": "${mod_display_name}", + "name": "${mod_name}", "description": "${mod_description}", "authors": "%FABRIC_AUTHORS_ARRAY%", "contact": { @@ -15,10 +15,10 @@ "environment": "client", "entrypoints": { "client": [ - "gjum.minecraft.mapsync.fabric.FabricMapSyncMod" + "gjum.minecraft.mapsync.mod.MapSyncMod" ], "modmenu": [ - "gjum.minecraft.mapsync.fabric.integrations.modmenu.ModMenuIntegration" + "gjum.minecraft.mapsync.mod.integrations.modmenu.ModMenuIntegration" ] }, "depends": { @@ -26,8 +26,13 @@ "fabricloader": ">=${fabric_loader_version}", "fabric": "*" }, + "suggests": { + "modmenu": "*", + "voxelmap": "*", + "journeymap": "*", + "xaeroworldmap": "*" + }, "mixins": [ - "mapsync.common.mixins.json", - "mapsync.fabric.mixins.json" + "mapsync.mixins.json" ] } diff --git a/mod/common/src/main/resources/mapsync.common.mixins.json b/mapsync-mod/src/main/resources/mapsync.mixins.json similarity index 71% rename from mod/common/src/main/resources/mapsync.common.mixins.json rename to mapsync-mod/src/main/resources/mapsync.mixins.json index 9f0582d1..9be609ea 100644 --- a/mod/common/src/main/resources/mapsync.common.mixins.json +++ b/mapsync-mod/src/main/resources/mapsync.mixins.json @@ -1,9 +1,9 @@ { "required": true, "minVersion": "0.8", - "package": "gjum.minecraft.mapsync.common.mixins", + "package": "gjum.minecraft.mapsync.mod.mixins", "compatibilityLevel": "JAVA_21", - "plugin": "gjum.minecraft.mapsync.common.MixinManager", + "plugin": "gjum.minecraft.mapsync.mod.MixinManager", "client": [ "voxelmap.CachedRegionAccessor", "voxelmap.PersistentMapAccessor", diff --git a/mod/common/src/main/resources/mapsync.version.const b/mapsync-mod/src/main/resources/mapsync.version.const similarity index 100% rename from mod/common/src/main/resources/mapsync.version.const rename to mapsync-mod/src/main/resources/mapsync.version.const diff --git a/server/.editorconfig b/mapsync-server/.editorconfig similarity index 100% rename from server/.editorconfig rename to mapsync-server/.editorconfig diff --git a/server/.gitignore b/mapsync-server/.gitignore similarity index 100% rename from server/.gitignore rename to mapsync-server/.gitignore diff --git a/server/README.md b/mapsync-server/README.md similarity index 100% rename from server/README.md rename to mapsync-server/README.md diff --git a/server/package-lock.json b/mapsync-server/package-lock.json similarity index 100% rename from server/package-lock.json rename to mapsync-server/package-lock.json diff --git a/server/package.json b/mapsync-server/package.json similarity index 100% rename from server/package.json rename to mapsync-server/package.json diff --git a/server/src/Renderer.ts b/mapsync-server/src/Renderer.ts similarity index 100% rename from server/src/Renderer.ts rename to mapsync-server/src/Renderer.ts diff --git a/server/src/cli.ts b/mapsync-server/src/cli.ts similarity index 100% rename from server/src/cli.ts rename to mapsync-server/src/cli.ts diff --git a/server/src/constants.ts b/mapsync-server/src/constants.ts similarity index 100% rename from server/src/constants.ts rename to mapsync-server/src/constants.ts diff --git a/server/src/database.ts b/mapsync-server/src/database.ts similarity index 100% rename from server/src/database.ts rename to mapsync-server/src/database.ts diff --git a/server/src/deps/errors.ts b/mapsync-server/src/deps/errors.ts similarity index 100% rename from server/src/deps/errors.ts rename to mapsync-server/src/deps/errors.ts diff --git a/server/src/deps/json.ts b/mapsync-server/src/deps/json.ts similarity index 100% rename from server/src/deps/json.ts rename to mapsync-server/src/deps/json.ts diff --git a/server/src/main.ts b/mapsync-server/src/main.ts similarity index 100% rename from server/src/main.ts rename to mapsync-server/src/main.ts diff --git a/server/src/metadata.ts b/mapsync-server/src/metadata.ts similarity index 100% rename from server/src/metadata.ts rename to mapsync-server/src/metadata.ts diff --git a/server/src/model.ts b/mapsync-server/src/model.ts similarity index 100% rename from server/src/model.ts rename to mapsync-server/src/model.ts diff --git a/server/src/protocol/BufReader.ts b/mapsync-server/src/protocol/BufReader.ts similarity index 100% rename from server/src/protocol/BufReader.ts rename to mapsync-server/src/protocol/BufReader.ts diff --git a/server/src/protocol/BufWriter.ts b/mapsync-server/src/protocol/BufWriter.ts similarity index 100% rename from server/src/protocol/BufWriter.ts rename to mapsync-server/src/protocol/BufWriter.ts diff --git a/server/src/protocol/CatchupPacket.ts b/mapsync-server/src/protocol/CatchupPacket.ts similarity index 100% rename from server/src/protocol/CatchupPacket.ts rename to mapsync-server/src/protocol/CatchupPacket.ts diff --git a/server/src/protocol/CatchupRequestPacket.ts b/mapsync-server/src/protocol/CatchupRequestPacket.ts similarity index 100% rename from server/src/protocol/CatchupRequestPacket.ts rename to mapsync-server/src/protocol/CatchupRequestPacket.ts diff --git a/server/src/protocol/ChunkTilePacket.ts b/mapsync-server/src/protocol/ChunkTilePacket.ts similarity index 100% rename from server/src/protocol/ChunkTilePacket.ts rename to mapsync-server/src/protocol/ChunkTilePacket.ts diff --git a/server/src/protocol/EncryptionRequestPacket.ts b/mapsync-server/src/protocol/EncryptionRequestPacket.ts similarity index 100% rename from server/src/protocol/EncryptionRequestPacket.ts rename to mapsync-server/src/protocol/EncryptionRequestPacket.ts diff --git a/server/src/protocol/EncryptionResponsePacket.ts b/mapsync-server/src/protocol/EncryptionResponsePacket.ts similarity index 100% rename from server/src/protocol/EncryptionResponsePacket.ts rename to mapsync-server/src/protocol/EncryptionResponsePacket.ts diff --git a/server/src/protocol/HandshakePacket.ts b/mapsync-server/src/protocol/HandshakePacket.ts similarity index 100% rename from server/src/protocol/HandshakePacket.ts rename to mapsync-server/src/protocol/HandshakePacket.ts diff --git a/server/src/protocol/RegionCatchupPacket.ts b/mapsync-server/src/protocol/RegionCatchupPacket.ts similarity index 100% rename from server/src/protocol/RegionCatchupPacket.ts rename to mapsync-server/src/protocol/RegionCatchupPacket.ts diff --git a/server/src/protocol/RegionTimestampsPacket.ts b/mapsync-server/src/protocol/RegionTimestampsPacket.ts similarity index 100% rename from server/src/protocol/RegionTimestampsPacket.ts rename to mapsync-server/src/protocol/RegionTimestampsPacket.ts diff --git a/server/src/protocol/index.ts b/mapsync-server/src/protocol/index.ts similarity index 100% rename from server/src/protocol/index.ts rename to mapsync-server/src/protocol/index.ts diff --git a/server/src/server.ts b/mapsync-server/src/server.ts similarity index 100% rename from server/src/server.ts rename to mapsync-server/src/server.ts diff --git a/server/tsconfig.json b/mapsync-server/tsconfig.json similarity index 100% rename from server/tsconfig.json rename to mapsync-server/tsconfig.json diff --git a/mod/build.gradle b/mod/build.gradle deleted file mode 100644 index e5cc6212..00000000 --- a/mod/build.gradle +++ /dev/null @@ -1,62 +0,0 @@ -// Update Gradle Wrapper using: ./gradlew wrapper --distribution-type bin --gradle-version -// See Gradle's releases here: https://gradle.org/releases/ - -plugins { - id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.13-SNAPSHOT" apply false -} - -architectury { - minecraft = rootProject.minecraft_version -} - -subprojects { - apply plugin: "dev.architectury.loom" - - loom { - silentMojangMappingsLicense() - } - - dependencies { - minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" - mappings loom.layered() { - officialMojangMappings() - parchment("org.parchmentmc.data:${project.parchment_name}:${project.parchment_version}@zip") - } - } -} - -allprojects { - apply plugin: "java" - apply plugin: "architectury-plugin" - apply plugin: "maven-publish" - - apply plugin: "idea" - - archivesBaseName = rootProject.archives_base_name - version = rootProject.mod_version - group = rootProject.maven_group - - repositories { - maven { - name "ParchmentMC" - url "https://maven.parchmentmc.org" - } - maven { - url "https://api.modrinth.com/maven" - content { - includeGroup "maven.modrinth" - } - } - maven { url = "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1" } - } - - tasks.withType(JavaCompile) { - options.encoding = "UTF-8" - options.release = 21 - } - - java { - withSourcesJar() - } -} diff --git a/mod/common/build.gradle b/mod/common/build.gradle deleted file mode 100644 index 2250d011..00000000 --- a/mod/common/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -architectury { - injectInjectables = false - common(rootProject.enabled_platforms.split(",")) -} - -dependencies { - // We depend on fabric loader here to use the fabric @Environment annotations and get the mixin dependencies - // Do NOT use other classes from fabric loader - modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" - - // https://modrinth.com/mod/voxelmap-updated/version/1.21.11-1.15.13 - // Don't forget to update the version in the fabric version - modCompileOnly("maven.modrinth:voxelmap-updated:At2wqJfr") - // https://modrinth.com/mod/journeymap/version/1.21.11-6.0.0-beta.56+fabric - modCompileOnly("maven.modrinth:journeymap:OSpjUIEM") - // https://modrinth.com/mod/xaeros-world-map/version/fabric-1.21.11-1.40.11 - modCompileOnly("maven.modrinth:xaeros-world-map:CkZVhVE0") -} - -processResources { - filesMatching("assets/mapsync/lang/en_us.json") { - expand(rootProject.properties) - } - filesMatching("mapsync.version.const") { - expand(rootProject.properties) - } -} diff --git a/mod/common/src/main/resources/assets/mapsync/lang/en_us.json b/mod/common/src/main/resources/assets/mapsync/lang/en_us.json deleted file mode 100644 index 4a38e026..00000000 --- a/mod/common/src/main/resources/assets/mapsync/lang/en_us.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "key.map-sync.openGui": "Open GUI", - "key.category.mapsync.general": "${mod_display_name}" -} diff --git a/mod/fabric/build.gradle b/mod/fabric/build.gradle deleted file mode 100644 index c612ea66..00000000 --- a/mod/fabric/build.gradle +++ /dev/null @@ -1,94 +0,0 @@ -import groovy.json.JsonBuilder - -plugins { - id "com.github.johnrengelman.shadow" version "7.1.2" -} - -architectury { - platformSetupLoomIde() - fabric() -} - -configurations { - common - shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. - compileClasspath.extendsFrom common - runtimeClasspath.extendsFrom common - developmentFabric.extendsFrom common -} - -dependencies { - modImplementation("net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}") - modApi("net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}") - - common(project(path: ":common", configuration: "namedElements")) { transitive false } - shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive false } - - // https://modrinth.com/mod/modmenu/version/3.2.5 (3.2.5 fabric) - modCompileOnly("maven.modrinth:modmenu:nVxObSbX") - - // This needs to be included or otherwise the mixins cannot compile - modCompileOnly("maven.modrinth:voxelmap-updated:At2wqJfr") -} - -processResources { - filesMatching("fabric.mod.json") { - expand(rootProject.properties) - filter { - (it as String).replace( - "\"%FABRIC_AUTHORS_ARRAY%\"", - new JsonBuilder((rootProject.properties["mod_authors"] as String).tokenize(",")).toString() - ) - } - } -} - -loom { - runs { - client { - vmArgs "-Ddevauth.enabled=true" - ideConfigGenerated = true - } - } -} - -shadowJar { - configurations = [project.configurations.shadowCommon] - archiveClassifier = "dev-shadow" -} - -remapJar { - inputFile.set(shadowJar.archiveFile) - dependsOn shadowJar - archiveClassifier = "fabric" -} - -jar { - archiveClassifier = "dev" -} - -sourcesJar { - def commonSources = project(":common").sourcesJar - dependsOn commonSources - from commonSources.archiveFile.map { zipTree(it) } -} - -components.java { - withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { - skip() - } -} - -tasks.register("cleanJar", Delete) { - delete fileTree("../dist") { - include "*-fabric.jar" - } -} - -tasks.register("copyJar", Copy) { - dependsOn cleanJar - from remapJar - into "../dist" -} - -build.dependsOn copyJar diff --git a/mod/fabric/gradle.properties b/mod/fabric/gradle.properties deleted file mode 100644 index e846a8f5..00000000 --- a/mod/fabric/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -loom.platform=fabric diff --git a/mod/fabric/src/main/java/gjum/minecraft/mapsync/fabric/FabricMapSyncMod.java b/mod/fabric/src/main/java/gjum/minecraft/mapsync/fabric/FabricMapSyncMod.java deleted file mode 100644 index 2562d224..00000000 --- a/mod/fabric/src/main/java/gjum/minecraft/mapsync/fabric/FabricMapSyncMod.java +++ /dev/null @@ -1,37 +0,0 @@ -package gjum.minecraft.mapsync.fabric; - -import gjum.minecraft.mapsync.common.MapSyncMod; -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; -import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; -import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.client.KeyMapping; - -public class FabricMapSyncMod extends MapSyncMod implements ClientModInitializer { - @Override - public void onInitializeClient() { - init(); - ClientTickEvents.START_CLIENT_TICK.register(client -> { - try { - handleTick(); - } catch (Throwable e) { - e.printStackTrace(); - } - }); - } - - @Override - public String getVersion() { - return VERSION + "+fabric"; - } - - @Override - public boolean isDevMode() { - return FabricLoader.getInstance().isDevelopmentEnvironment(); - } - - @Override - public void registerKeyBinding(KeyMapping mapping) { - KeyBindingHelper.registerKeyBinding(mapping); - } -} diff --git a/mod/fabric/src/main/resources/mapsync.fabric.mixins.json b/mod/fabric/src/main/resources/mapsync.fabric.mixins.json deleted file mode 100644 index 88e75d24..00000000 --- a/mod/fabric/src/main/resources/mapsync.fabric.mixins.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "gjum.minecraft.mapsync.fabric.mixins", - "compatibilityLevel": "JAVA_21", - "client": [ - - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/mod/forge/build.gradle b/mod/forge/build.gradle deleted file mode 100644 index cc620672..00000000 --- a/mod/forge/build.gradle +++ /dev/null @@ -1,86 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" version "7.1.2" -} - -architectury { - platformSetupLoomIde() - forge() -} - -loom { - forge { - mixinConfig "mapsync.common.mixins.json", "mapsync.forge.mixins.json" - } -} - -configurations { - common - shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. - compileClasspath.extendsFrom common - runtimeClasspath.extendsFrom common - developmentForge.extendsFrom common - - // Weird fix: https://discord.com/channels/792699517631594506/792701725106634783/1272848116864909314 - configureEach { - resolutionStrategy.force("net.sf.jopt-simple:jopt-simple:5.0.4") - } -} - -dependencies { - forge("net.minecraftforge:forge:${rootProject.forge_version}") - - common(project(path: ":common", configuration: "namedElements")) { transitive false } - shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive false } -} - -processResources { - filesMatching("META-INF/mods.toml") { - expand(rootProject.properties) - } - filesMatching("pack.mcmeta") { - expand(rootProject.properties) - } -} - -shadowJar { - exclude "fabric.mod.json" - - configurations = [project.configurations.shadowCommon] - archiveClassifier = "dev-shadow" -} - -remapJar { - inputFile.set(shadowJar.archiveFile) - dependsOn shadowJar - archiveClassifier = "forge" -} - -jar { - archiveClassifier = "dev" -} - -sourcesJar { - def commonSources = project(":common").sourcesJar - dependsOn commonSources - from commonSources.archiveFile.map { zipTree(it) } -} - -components.java { - withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { - skip() - } -} - -tasks.register("cleanJar", Delete) { - delete fileTree("../dist") { - include "*-forge.jar" - } -} - -tasks.register("copyJar", Copy) { - dependsOn cleanJar - from remapJar - into "../dist" -} - -build.dependsOn copyJar diff --git a/mod/forge/gradle.properties b/mod/forge/gradle.properties deleted file mode 100644 index 82425854..00000000 --- a/mod/forge/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -loom.platform=forge diff --git a/mod/forge/src/main/java/gjum/minecraft/mapsync/forge/ForgeMapSyncMod.java b/mod/forge/src/main/java/gjum/minecraft/mapsync/forge/ForgeMapSyncMod.java deleted file mode 100644 index e02e47af..00000000 --- a/mod/forge/src/main/java/gjum/minecraft/mapsync/forge/ForgeMapSyncMod.java +++ /dev/null @@ -1,65 +0,0 @@ -package gjum.minecraft.mapsync.forge; - -import gjum.minecraft.mapsync.common.MapSyncMod; -import gjum.minecraft.mapsync.common.ModGui; -import java.util.ArrayList; -import java.util.Collection; -import net.minecraft.client.KeyMapping; -import net.minecraftforge.client.ConfigScreenHandler; -import net.minecraftforge.client.event.RegisterKeyMappingsEvent; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.TickEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.fml.loading.FMLLoader; - -@Mod("mapsync") -public class ForgeMapSyncMod extends MapSyncMod { - public ForgeMapSyncMod( - final FMLJavaModLoadingContext context - ) { - context.getModEventBus().addListener((event) -> { - context.registerExtensionPoint( - ConfigScreenHandler.ConfigScreenFactory.class, - () -> new ConfigScreenHandler.ConfigScreenFactory( - (minecraft, previousScreen) -> new ModGui(previousScreen) - ) - ); - - init(); - }); - MinecraftForge.EVENT_BUS.register(this); - } - - @Override - public String getVersion() { - return VERSION + "+forge"; - } - - @Override - public boolean isDevMode() { - return !FMLLoader.isProduction(); - } - - @SubscribeEvent - public void onClientTick(TickEvent.ClientTickEvent event) { - try { - if (event.phase == TickEvent.Phase.START) { - handleTick(); - } - } catch (Throwable e) { - e.printStackTrace(); - } - } - - private final Collection keyMappings = new ArrayList<>(); - @Override - public void registerKeyBinding(KeyMapping mapping) { - this.keyMappings.add(mapping); - } - @SubscribeEvent - public void registerBindings(RegisterKeyMappingsEvent event) { - this.keyMappings.forEach(event::register); - } -} diff --git a/mod/forge/src/main/resources/META-INF/mods.toml b/mod/forge/src/main/resources/META-INF/mods.toml deleted file mode 100644 index 9940224e..00000000 --- a/mod/forge/src/main/resources/META-INF/mods.toml +++ /dev/null @@ -1,27 +0,0 @@ -modLoader = "javafml" -loaderVersion = "[${forge_major_version},)" -issueTrackerURL = "${mod_issues_url}" -license = "${copyright_licence}" - -[[mods]] -modId = "mapsync" -version = "${mod_version}" -displayName = "${mod_display_name}" -description = "${mod_description}" -displayURL = "${mod_home_url}" -authors = "${mod_authors}" -#logoFile = "" - -[[dependencies.mapsync]] -modId = "forge" -mandatory = true -versionRange = "[${forge_major_version},)" -ordering = "NONE" -side = "CLIENT" - -[[dependencies.mapsync]] -modId = "minecraft" -mandatory = true -versionRange = "[${minecraft_version},)" -ordering = "NONE" -side = "CLIENT" diff --git a/mod/forge/src/main/resources/mapsync.forge.mixins.json b/mod/forge/src/main/resources/mapsync.forge.mixins.json deleted file mode 100644 index dd821c68..00000000 --- a/mod/forge/src/main/resources/mapsync.forge.mixins.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "gjum.minecraft.mapsync.forge.mixins", - "compatibilityLevel": "JAVA_21", - "client": [ - - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/mod/forge/src/main/resources/pack.mcmeta b/mod/forge/src/main/resources/pack.mcmeta deleted file mode 100644 index 0621a435..00000000 --- a/mod/forge/src/main/resources/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack": { - "description": "${mod_display_name}", - "pack_format": 6 - } -} diff --git a/mod/gradle/wrapper/gradle-wrapper.jar b/mod/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index a4b76b95..00000000 Binary files a/mod/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/mod/settings.gradle b/mod/settings.gradle deleted file mode 100644 index 57de9a8a..00000000 --- a/mod/settings.gradle +++ /dev/null @@ -1,14 +0,0 @@ -pluginManagement { - repositories { - maven { url "https://maven.fabricmc.net/" } - maven { url "https://maven.architectury.dev/" } - maven { url "https://maven.minecraftforge.net/" } - gradlePluginPortal() - } -} - -include(":common") -include(":fabric") -//include(":forge") - -rootProject.name = "MapSync"