Tableau is a collection of Gradle plugins that provide a common set of functionality for Minecraft Modding projects.
Its primary goal is to simplify the setup and configuration of Minecraft Modding projects by providing a set of plugins that can be used to configure and manage the project's build process. It does this in a declarative fashion. You tell Tableau what you want, and it takes care of the rest.
- Handling of core mod properties
- Interpolation of properties in resources
- Custom pre- and post-processing of changelogs (can be used in combination with GitHub workflows)
- Crowdin integration
- Automatic CurseForge file uploads
- Extraction of information from Git
- Support for JarJar and ShadowJar
- Support for configuring the Java SDK
- Support for injecting Jetbrains annotations
- Support for
.gradle
file handling in thegradle
directory of a project - Support for configuring Maven Publishing
- Publishing to the LDTTeam Maven
- Publishing to GitHub Releases and Packages
- Publishing to a Local Directory
- Extraction of information for the POM from the Git repository
- Extraction of information for the POM from other Tableau modules
- Support for NeoGradle project management
- Other Modding Frameworks to follow
- Other Modding Platforms to follow
- Support for Parchment
- Support for direct source set management (no need for
sourceSets
block, ordependencies
block)
TODO: Insert website with all documentation here.
To get started there are two ways to apply the Tableau plugin to your project. You can apply the bootstrap module, or apply the core Tableau module directly.
The bootstrap module is supposed to be released on Plugins portal, once it is released, you can apply it to your settings
like this:
plugins {
id 'com.ldtteam.tableau' version '1.0.0'
}
or when using Kotlin DSL:
plugins {
id("com.ldtteam.tableau") version "1.0.0"
}
However, right now it is not released yet and you need to pull the bootstrap module from the Tableau Maven repository.
To do this, you need to add the following to your settings.gradle
file:
pluginManagement {
repositories {
gradlePluginPortal()
maven {
url "https://ldtteam.jfrog.io/artifactory/tableau/"
}
}
}
plugins {
id 'com.ldtteam.tableau' version '1.0.0'
}
or when using Kotlin DSL:
pluginManagement {
repositories {
gradlePluginPortal()
maven {
url = uri("https://ldtteam.jfrog.io/artifactory/tableau/")
}
}
}
plugins {
id("com.ldtteam.tableau") version "1.0.0"
}
The version above is just an example, you should replace it with the latest version available on the Maven Repository.
Check the bootstrap
module directory on our maven for the available versions.
To get started you will need to tell Tableau about the mod in your project.
To do this, you need to add the following to your build.gradle
file:
tableau {
mod {
modId = "examplemod"
group = "com.example"
minecraftVersion = "1.21.3"
publisher = "LDTTeam"
url = "https://github.com/someorg/examplemod"
}
}
or when using Kotlin DSL:
tableau {
mod {
modId.set("examplemod")
group.set("com.example")
minecraftVersion.set("1.21.3")
publisher.set("LDTTeam")
url.set("https://github.com/someorg/examplemod")
}
}
This will get your project started with the latest NeoForge version for that Minecraft version. We will add support for other modding frameworks in the future.
If you want to configure the individual modules, please visit the Tableau Website for more information.
If you want to contribute to Tableau, please read our Contributing Guidelines first.
Tableau is licensed under the GPL-3.0 License. See the LICENSE file for more information.