Welcome to the Botania repository.
Botania is a Minecraft tech mod themed around natural magic. It's inspired by other magic mods, such as Thaumcraft or Blood Magic.
The current iteration of Botania is made possible thanks to the massive help by the part of williewillus, who ported the mod from 1.8 through to the present day, so go buy him a beer or something, I dunno, he's pretty cool.
Botania is licensed under the Botania License
Maven artifacts are located here, each folder representing a version.
Note: As of 1.16, intermediate (non-release) Maven builds are no longer persisted.
That is, you must either depend on a released version of Botania, e.g. 1.16.2-407
, or specifically opt in to the bleeding-edge
build of the next version. For example, 1.16.2-408-SNAPSHOT
would be the current bleeding edge version of future version 1.16.2-408
.
Note that -SNAPSHOT
versions can be broken from time to time, and you are strongly discouraged from using them unless you are helping dogfood, test, or contribute to Botania. They may also be pruned from time to time to save disk space on the server. Do not rely on -SNAPSHOT
versions for anything important!
In Forge, add the following to your build.gradle
repositories {
maven { url 'https://maven.blamejared.com' }
}
dependencies {
// 1.14+
compileOnly fg.deobf("vazkii.botania:Botania:[VERSION]:api")
runtimeOnly fg.deobf("vazkii.botania:Botania:[VERSION]")
}
Read this if you get crashes when depending on Botania and trying to launch in-dev.
Botania uses Mixins to implement various features.
This may cause issues when depending on Botania in-dev, since ForgeGradle/MixinGradle
do not yet properly support this in-dev like Fabric does.
As a workaround, disable refmaps by defining the mixin.env.disableRefMap
JVM argument to true
.
- Pull from remote, test all changes, and commit everything.
git tag -a release-<VERSION>
. All Botania versions must follow the version format<MC-VER>-INT
, so it'll probably look likegit tag -a release-1.16.3-407
.- In the Git editor that pops up, write the changelog. Finish the tag process (usually by saving and closing the editor).
- Copy the changelog to the webpage version under
web/changelog.txt
.` - Run
./gradlew incrementBuildNumber --no-daemon
to increment the build number of the next release. Commit this and the changelog. - Push:
git push origin master --tags
- Go to Jenkins and wait for the tag you just pushed to be compiled and built
- Download the JAR and submit it to CurseForge
- Push the website:
./syncweb.sh <remote username>
. If you don't provide a remote username to ssh into the webserver, it'll take your current login name.