Skip to content

LordFokas/BlazeMap

Repository files navigation

Blaze Map Logo

The open source mapping mod for Forge.

Blaze Map is designed to be easily extensible, providing an API to make it simple for other mods to integrate their own mapping needs. See Cartography as an example.

Blaze Map also works independently on both the client and the server, meaning you can either connect to a server with Blaze Map to centralise the mapping work or you can connect to a vanilla server and have the mapping run purely client side.

For Contributors

To build Blaze Map locally, make sure to have a copy of the Embeddium binary stored under /libs. This is because Embeddium is a build time dependency, even if only an optional runtime dependency.

You can see what version of the Embeddium binary is needed by looking at which version is listed in build.gradle.

Local Dev

To set up your IDE to be able to access the deobfuscated Minecraft classes, make sure your IDE is configured for both Java 17 and Gradle and then run the setup applicable to your IDE:

gradlew genEclipseRuns
gradlew genIntellijRuns
gradlew genVSCodeRuns

To build and run the local dev server in single player mode (client with integrated server):

gradlew runClient

To build and run just the server:

gradlew runServer

To view all available commands:

gradlew tasks

Prod Jar

To build the prod jar:

gradlew jar

The built jar can then be found under /build/libs.

To build the prod jar and then move it into the mod folder of your Minecraft instance in one command (using CMD or PowerShell on Windows):

# Replace <path-to-mc-instance> with the actual path to your Minecraft instance first
del "build\libs\BlazeMap-*.jar" & gradlew jar && del "<path-to-mc-instance>\mods\BlazeMap-*" && copy "build\libs\BlazeMap-*.jar" "<path-to-mc-instance>\mods"

You can find the logs for the latest run of that server at "<path-to-mc-instance>\logs\latest.log".

To test why a mixin isn't working from a prod jar, add the following to the JVM Arguments in the Minecraft Launcher. This will add mixin debug logs to the normal server logs as well as outputting the mixed in version of each .class to .mixin.out in that instance's folder:

-Dmixin.debug.export=true -Dmixin.debug.verbose=true -Dmixin.debug.countInjections=true 

Running Client Side Only

To easily start a local Minecraft server with Forge for the sake of testing how Blaze Map works when only installed client side, you can spin up a local server in docker with the following:

# Replace <minecraft-version> with your desired Minecraft version, eg 1.20.1
docker run -it -p 25565:25565 -e EULA=TRUE -e VERSION=<minecraft-version> -e TYPE=FORGE itzg/minecraft-server

Note that to log into this server, you will need to be authenticated. You can either look up how to do this with gradlew runClient or just build the prod jar as outlined above and launch the game via your modded launcher as per usual.

There are other ways you can start up a local Minecraft server too of course, but this is one of the simplest.

About

The open source mapping mod for Forge

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •  

Languages