diff --git a/Readme.md b/Readme.md index c0acb8689..aaf8f1bb1 100644 --- a/Readme.md +++ b/Readme.md @@ -9,110 +9,93 @@ This mod adds a Level Of Detail (LOD) system to Minecraft.\ This implementation renders simplified chunks outside the normal render distance\ allowing for an increased view distance without harming performance. -Or in other words: this mod lets you see farther without turning your game into a slide show.\ +In other words: this mod lets you see farther without turning your game into a slide show.\ If you want to see a quick demo, check out a video covering the mod here: ![Minecraft Level Of Detail (LOD) mod - Alpha 1.6.3](https://cdn.ko-fi.com/cdn/useruploads/png_ef4d209d-50d9-462f-b31f-92e42ec3e260cover.jpg?v=c1097a5b-029c-4484-bec3-80ff58c5d239) -### Versions -This branch is for these versions of Minecraft -- 1.19 -- 1.18.2 -- 1.18.1 & 1.18 -- 1.17.1 & 1.17 -- 1.16.5 & 1.16.4 +
-Architectury version: 3.4-SNAPSHOT\ -Architectury loom version: 0.12.0-SNAPSHOT\ -Java Compiler plugin: Manifold Preprocessor +## Mod and Library Versions -#### 1.19 mods (WIP) +This branch supports the following versions of Minecraft: + +#### 1.19 (WIP) Forge version: 41.0.19\ Fabric version: 0.14.7\ Fabric API version: 0.55.3+1.19\ Modmenu version: 4.0.0 -#### 1.18.2 mods +#### 1.18.2 Forge version: 40.0.18\ Fabric version: 0.13.3\ Fabric API version: 0.48.0+1.18.2\ Modmenu version: 3.1.0 -#### 1.18.1 mods +#### 1.18.1 Forge version: 39.1.2\ Fabric version: 0.13.3\ Fabric API version: 0.42.6+1.18\ Modmenu version: 3.0.1 -#### 1.17.1 mods +#### 1.17.1 Forge version: 37.1.1\ Fabric version: 0.13.2\ Fabric API version: 0.46.1+1.17\ Modmenu version: 2.0.14 -#### 1.16.5 mods +#### 1.16.5 Forge version: 36.2.28\ Fabric vetsion: 0.13.2\ Fabric API version: 0.42.0+1.16\ Modmenu version: 1.16.22 +

+#### Plugin and Library versions +Architectury version: 3.4-SNAPSHOT\ +Architectury loom version: 0.12.0-SNAPSHOT\ +Java Compiler plugin: Manifold Preprocessor -Notes:\ -This version has been confirmed to work in IDE and Retail Minecraft with ether the Fabric or Forge mod-loader. - +
## Source Code Installation -#### Nightlly builds -This mod has an autobuild system to automatically build the mod on each commit -- 1.19: https://gitlab.com/jeseibel/minecraft-lod-mod/-/jobs/artifacts/main/download?job=build_19 -- 1.18.2: https://gitlab.com/jeseibel/minecraft-lod-mod/-/jobs/artifacts/main/download?job=build_18_2 -- 1.18.1: https://gitlab.com/jeseibel/minecraft-lod-mod/-/jobs/artifacts/main/download?job=build_18_1 -- 1.17.1: https://gitlab.com/jeseibel/minecraft-lod-mod/-/jobs/artifacts/main/download?job=build_17_1 -- 1.16.5: https://gitlab.com/jeseibel/minecraft-lod-mod/-/jobs/artifacts/main/download?job=build_16_5 - -See the Fabric Documentation online for more detailed instructions:\ -https://fabricmc.net/wiki/tutorial:setup - ### Prerequisites -* A Java Development Kit (JDK) for Java 17 (recommended) or newer. Visit https://www.oracle.com/java/technologies/downloads/ for installers. -* Git or someway to clone git projects. Visit https://git-scm.com/ for installers. +* A Java Development Kit (JDK) for Java 17 (recommended) or newer.
+ Visit https://www.oracle.com/java/technologies/downloads/ for installers. +* Git or someway to clone git projects.
+ Visit https://git-scm.com/ for installers. * (Not required) Any Java IDE with plugins that support Manifold, for example Intellij IDEA. **If using IntelliJ:** -0. Install Manifold plugin -1. open IDEA and import the build.gradle -2. refresh the Gradle project in IDEA if required +1. Install the Manifold plugin +2. Open IDEA and import the build.gradle +3. Refresh the Gradle project in IDEA if required -**If using Ecplise: (Note that Eclispe currently doesn't support Manifold's preprocessor!)** -1. run the command: `./gradlew geneclipseruns` -2. run the command: `./gradlew eclipse` +**If using Eclipse: (Note that Eclipse doesn't support Manifold's preprocessor!)** +1. Run the command: `./gradlew geneclipseruns` +2. Run the command: `./gradlew eclipse` 3. Make sure eclipse has the JDK 17 installed. (This is needed so that eclipse can run minecraft) 4. Import the project into eclipse ## Switching Versions -This branch support 5 built versions: - - 1.19 - - 1.18.2 - - 1.18.1 (which also runs on 1.18) - - 1.17.1 (which also runs on 1.17) - - 1.16.5 (which also runs 1.16.4) To switch between active versions, change `mcVer=1.?` in `gradle.properties` file. -If running on IDE, to ensure IDE pickup the changed versions, you will need to run a gradle command again to allow gradle to update all the libs. (In IntellJ you will also need to do a gradle sync again if it didn't start it automatically.) ->Note: There may be a `java.nio.file.FileSystemException` thrown on running the command after switching versions. To fix it, either restart your IDE (as your IDE is locking up a file) or use tools like LockHunter to unlock the linked file. (Often a lib file under `common\build\lib` or `forge\build\lib` or `fabric\build\lib`). If anyone knows how to solve this issue please comment to this issue: https://gitlab.com/jeseibel/minecraft-lod-mod/-/issues/233 +If running in an IDE, to ensure the IDE noticed the version change, run a gradle command to prompt gradle into updating the libs. (In IntellJ you will also need to do a gradle sync if it didn't happen automatically.) +>Note: There may be a `java.nio.file.FileSystemException` thrown when running the command after switching versions. To fix it, either restart your IDE (as your IDE is locking up a file) or use a tool like LockHunter to unlock the linked file(s). (Generally it is a lib file under `common\build\lib`, `forge\build\lib`, or `fabric\build\lib`). If anyone knows how to solve this issue please write a comment on this issue: https://gitlab.com/jeseibel/minecraft-lod-mod/-/issues/233 +
+ ## Compiling -**Using GUI** -1. Download the zip of the project and extract it +**From the File Explorer:** +1. Download and extract the zip of the project 2. Download the core from https://gitlab.com/jeseibel/distant-horizons-core and extract into a folder called `core` 3. Open a command line in the project folder -4. Run the command: `./gradlew assemble` -5. Then run command: `./gradlew mergeJars` +4. Run the commands: `./gradlew assemble` and `./gradlew mergeJars` 6. The compiled jar file will be in the folder `Merged` **If in terminal:** @@ -121,8 +104,10 @@ If running on IDE, to ensure IDE pickup the changed versions, you will need to r 3. `./gradlew assemble` 4. `./gradlew mergeJars` 5. The compiled jar file will be in the folder `Merged` + >Note: You can add the arg: `-PmcVer=1.?` to tell gradle to build a selected MC version instead of having to manually modify the `gradle.properties` file. +
## Other commands @@ -138,18 +123,22 @@ The Minecraft source code is NOT added to your workspace in an editable way. Min Source code uses Mojang mappings & [Parchment](https://parchmentmc.org/) mappings. To generate the source code run `./gradlew genSources`\ -If your IDE fails to auto-detect the sources JAR when browsing Minecraft classes manually select the JAR file ending with -sources.jar when prompted by your IDE +If your IDE fails to auto-detect the source jars when browsing Minecraft classes; manually select the JAR file ending with -sources.jar when prompted by your IDE.
+(In IntelliJ it's at the top where it says "choose sources" when browsing a Minecraft class) -In IntelliJ it's at the top where it says choose sources when browsing Minecraft classes +
## Useful commands -Build only Fabric: `./gradlew fabric:assemble` or `./gradlew fabric:build`\ -Build only Forge: `./gradlew fabric:assemble` or `./gradlew forge:build`\ +Only build Fabric: `./gradlew fabric:assemble` or `./gradlew fabric:build`\ +Only build Forge: `./gradlew fabric:assemble` or `./gradlew forge:build`\ Run the Fabric client (for debugging): `./gradlew fabric:runClient`\ Run the Forge client (for debugging): `./gradlew forge:runClient` To build all versions: `./buildAll` (all builds will end up in the `Merged` folder) + +
+ ## Open Source Acknowledgements XZ for Java (data compression)\ @@ -162,4 +151,4 @@ Toml for Java (config handling)\ https://github.com/TheElectronWill/night-config Json for Java (config handling)\ -https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple \ No newline at end of file +https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple diff --git a/core b/core index 37384d8b8..1d4c292e0 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 37384d8b8b1a1b84b0f1de9126623e5c964f2c60 +Subproject commit 1d4c292e066d62dc89efe1e45a50095fae56d4fb