|
1 | | -**Always** use the latest (stable) version of SeedMapper! If you want to play on an older version of Minecraft, use [ViaFabricPlus](https://modrinth.com/mod/viafabricplus). This mod allows you to use the latest features of SeedMapper, while still being able to play on older Minecraft versions. |
| 1 | +# Seedmapper 2.16.x (MC1.21.10)- Modified by CevAPI |
2 | 2 |
|
3 | | -# SeedMapper |
4 | | -In-game Minecraft Fabric mod that allows you to do various things with the world seed. For reference, have a look at the [features](#features) this mod has. Keep in mind though, this mod requires you to have access to the seed. If the seed is not known, you could crack it using [SeedCrackerX](https://github.com/19MisterX98/SeedcrackerX/) by 19MisterX98. For questions and support please head to my [Discord](https://discord.xpple.dev/). |
| 3 | +Original Repo: https://github.com/xpple/SeedMapper/ |
5 | 4 |
|
6 | | -## Installation |
7 | | -1. Install the [Fabric Loader](https://fabricmc.net/use/). |
8 | | -2. Download the [Fabric API](https://minecraft.curseforge.com/projects/fabric/) and move it to your mods folder: |
9 | | - - Linux/Windows: `.minecraft/mods`. |
10 | | - - Mac: `minecraft/mods`. |
11 | | -3. Download SeedMapper from the [releases page](https://modrinth.com/mod/seedmapper/versions/) and move it to your mods folder. |
| 5 | +## Relationship to upstream |
12 | 6 |
|
13 | | -## IMPORTANT |
14 | | -You need to have at least Java 23 installed to use this mod. I recommend to get Java 23 (or higher) from [adoptium.net](https://adoptium.net/temurin/releases/?version=23). Next, configure your Minecraft launcher to use this release of Java. |
| 7 | +This project is a friendly, independent fork of Seedmapper. I have not proposed any improvements or features to the upstream but I am welcome to them incorporating my changes. I will sporatically maintain this project and re-base/sync with the upstream project. |
15 | 8 |
|
16 | | -- Vanilla launcher: Go to `Installations` -> `Edit` -> `More options` -> `Java executable`. |
17 | | -- MultiMC: Go to `Edit Instance` -> `Settings` -> `Java` -> `Java Installation`. |
18 | | -- PrismLauncher: Go to `Settings` -> `Java` -> `Java Runtime` -> `Auto-Detect...`. |
19 | | -- Modrinth App: Go to `Instance settings` -> `Java and memory` -> `Custom Java installation` -> `Browse` |
| 9 | +## Installation and pre-requisites |
20 | 10 |
|
21 | | -Sometimes it may be necessary to click the option for skipping the Java compatibility check. |
| 11 | +See original [repo](https://github.com/xpple/SeedMapper) for the project. A precompiled version of my fork will be made available for download. |
22 | 12 |
|
23 | | -If you are on Windows, make sure to select `javaw.exe`, not `java.exe`. |
| 13 | +## Improvements |
24 | 14 |
|
25 | | -If you run into issues, contact your launcher's support. |
| 15 | + |
26 | 16 |
|
27 | | -## Features |
28 | | -Before using any of these commands, make sure the seed has been configured using `/sm:config Seed set <seed>`. |
| 17 | +### Java 21 |
| 18 | +Project now builds against Java 21 LTS, however, Minecraft/Fabric must have the flag ```--enable-preview``` added to the Java arguments. |
29 | 19 |
|
30 | | -### Seed map |
31 | | -Usage: `/sm:seedmap` |
| 20 | +This tells the JVM to accept preview bytecode and APIs. Functionally nothing else changes in Minecraft, Fabric or any of the other mods you have installed. |
32 | 21 |
|
33 | | -Opens an explorable seed map based on the configured seed. You can move the map by dragging the mouse, and zoom in or out by using the scroll wheel. You can toggle what features are visible by clicking the feature toggles at the top of the screen. This command is especially useful in combination with the `/sm:source` command! |
| 22 | + |
34 | 23 |
|
35 | | -### Biome locating |
36 | | -Usage: `/sm:locate biome <biome>`. |
| 24 | +### Zoom |
| 25 | +Zoom further out on the SeedMap |
37 | 26 |
|
38 | | -Locates a given biome closest to the player. All biomes in all dimensions are supported. |
| 27 | +### Added Elytra/End Ship Locations |
| 28 | +Can now find Elytra via locating End Ships with the locate command ```/sm:locate feature end_city_ship``` or simply selecting the Elytra icon in the SeedMap |
39 | 29 |
|
40 | | -### Structure locating |
41 | | -Usage: `/sm:locate feature <structure>[<pieces>]{<variants>}`. |
| 30 | +### Export SeedMap |
| 31 | +- Added **Export JSON** button on the top right of the SeedMap screen which will export all selected locations to a JSON |
| 32 | +- Added **Export Xaero** button on the top right of the SeedMap screen which will export all selected locations into Xaero World Map waypoints for the server you're in. Disconnect from the server you're in and reconnect and the waypoints will appear in Xaero. |
42 | 33 |
|
43 | | -Locates a given structure closest to the player. All structures in all dimensions are supported. However, due to limitations in the underlying library, some structures (in particular desert pyramids, jungle temples and woodland mansions) may result in occasional false positives. For more advanced querying you can also use piece and variant data to further restrict the search. For example, the following command will search for end cities with ships: `/sm:locate feature structure end_city[end_ship]`. |
| 34 | +### Improved ESP |
44 | 35 |
|
45 | | -### Ore vein locating |
46 | | -Usage: `/sm:locate orevein (copper|iron)`. |
| 36 | +Configurable ESP settings allowing for custom colors, fill (imperfect) and transparency. |
47 | 37 |
|
48 | | -Locates an [ore vein](https://minecraft.wiki/w/Ore_vein) closest to the player. The coordinates of the first ore vein block found will be returned. After this, you can use [`/sm:highlight orevein [chunks]`](#ore-vein-highlighting) to highlight the other ores. |
| 38 | +Example: ```/sm:config blockhighlightesp set outlineColor #ff0000 outlineAlpha 0.5 fillEnabled true fillColor #00ff00 fillAlpha 0.35``` |
49 | 39 |
|
50 | | -### Loot locating |
51 | | -Usage: `/sm:locate loot <amount> <item> [<enchantment conditions>]`. |
| 40 | +### Highlight Timeout Setting |
52 | 41 |
|
53 | | -Locates chest loot closest to the player. All versions from 1.13 onwards are supported. SeedMapper will search through the chest loot of structures to find loot that matches the item and enchantment conditions. Note that queries for unobtainable loot and illegal enchantment combinations are not prevented by the command. If a search is taking too long, you should probably cancel it using `/sm:stoptask`. |
54 | | - |
55 | | -### Ore highlighting |
56 | | -Usage: `/sm:highlight block <block> [chunks]`. |
57 | | - |
58 | | -Highlights the specified block in the world. All versions from 1.13 onwards are supported. Due to high dependence on the [`OCEAN_FLOOR_WG`](https://minecraft.wiki/w/Heightmap#OCEAN_FLOOR_WG) heightmap, coal, copper and emerald ore locations may be off. |
59 | | - |
60 | | -### Ore vein highlighting |
61 | | -Usage: `/sm:highlight orevein [chunks]`. |
62 | | - |
63 | | -Highlights ore veins in the world. Raw ore blocks that generate as part of the ore vein are highlighted distinctly. Filler blocks are ignored. |
64 | | - |
65 | | -### Slime chunk locating |
66 | | -Usage: `/sm:locate slimechunk`. |
67 | | - |
68 | | -Locates a slime chunk closest to the player. This will always be accurate. |
69 | | - |
70 | | -### Source mutation |
71 | | -Usage: `/sm:source (run)|(as <entity>)|(positioned <position>)|(rotated <rotation>)|(in <dimension>)|(versioned <version>)|(seeded <seed>)`. |
72 | | - |
73 | | -Executes a given command from a modified source. For example, modifying the source's position will execute the command as if you were in that position. This command is really powerful, use it! |
74 | | - |
75 | | -## Building from source |
76 | | -This mod internally uses (a fork of) the C library [cubiomes](https://github.com/Cubitect/cubiomes) by Cubitect. Java bindings for this library were created with (also a fork of) [jextract](https://github.com/openjdk/jextract). The bindings use the [Foreign Function & Memory API](https://openjdk.org/jeps/454) from [Project Panama](https://openjdk.org/projects/panama/). See [CreateJavaBindingsTask.java](https://github.com/xpple/SeedMapper/blob/master/buildSrc/src/main/java/dev/xpple/seedmapper/buildscript/CreateJavaBindingsTask.java) for the Gradle task that automates this. |
77 | | - |
78 | | -To build the mod locally, follow these steps: |
79 | | - |
80 | | -1. Clone the repository: |
81 | | - ```shell |
82 | | - git clone --recurse-submodules https://github.com/xpple/SeedMapper |
83 | | - cd SeedMapper |
84 | | - ``` |
85 | | -2. Compile cubiomes to a shared library. MSVC cannot be used to build the project! The following is for Windows: |
86 | | - ```shell |
87 | | - cd src/main/c/cubiomes |
88 | | - cmake -S . -B build -DCMAKE_BUILD_TYPE=Release |
89 | | - cmake --build build --config Release |
90 | | - cp build/cubiomes.dll ../../resources/cubiomes.dll |
91 | | - cd ../../../../ |
92 | | - ``` |
93 | | -3. Install LLVM (version 13.0.0 is recommended) and set the environment variable `LLVM_HOME` to the directory where LLVM was installed. |
94 | | -4. Compile jextract. Again, the following is for Windows: |
95 | | - ```shell |
96 | | - cd jextract |
97 | | - ./gradlew --stacktrace -Pjdk_home="$env:JAVA_HOME" -Pllvm_home="$env:LLVM_HOME" clean verify |
98 | | - cd ../ |
99 | | - ``` |
100 | | -5. Build the mod: |
101 | | - ```shell |
102 | | - ./gradlew build |
103 | | - ``` |
104 | | - You should find the Java bindings in `src/main/java/com/github/cubiomes`. |
105 | | - |
106 | | -Lastly, you can also consult the [GitHub Actions workflow file](https://github.com/xpple/SeedMapper/blob/master/.github/workflows/build.yml), which contains complete build instructions for each major OS. |
| 42 | +Can now change the default 5 minute render timeout with ```/sm:config esptimeout``` |
0 commit comments