Skip to content

Latest commit

 

History

History
113 lines (83 loc) · 2.72 KB

README.md

File metadata and controls

113 lines (83 loc) · 2.72 KB

index

Setup

Lets set up the framework of using voodoo this is still more boilerplate than i wish to use, How to contribute

gradle setup

Setting up a Voodoo project/workspace

Easy

fork sample project

Manual

sample project

required gradle version is 5
recommended: 5.1.1

build.gradle.kts

plugins {
    id("voodoo") version "0.4.5-SNAPSHOT"
}

voodoo {

// for configuration of folders
// these are the defaults

//    rootDir = project.rootDir
//    generatedSource = { rootDir -> rootDir.resolve(".voodoo") }
//    packDirectory = { ootDir -> rootDir.resolve("packs") }

// task shorthands
    addTask(name = "build", parameters = listOf("build"))
    addTask(name = "testMMC", parameters = listOf("test mmc"))
    addTask(name = "sk", parameters = listOf("pack sk"))
    addTask(name = "packServer", parameters = listOf("pack server"))
    addTask(name = "buildAndPackAll", parameters = listOf("build", "pack sk", "pack server", "pack mmc"))
}

gradle wrapper --gradle-version 5.0 --distribution-type all

sadly ou still have to add quite a bit to the pluginManagement block, but i think this is the most compatible solution still

settings.gradle.kts

pluginManagement {
    repositories {
        maven(url = "https://dl.bintray.com/kotlin/kotlin-eap") { name = "Kotlin EAP" }
        maven(url = "https://kotlin.bintray.com/kotlinx") { name = "kotlinx" }
        maven(url = "https://repo.elytradev.com") { name = "elytradev" }
        maven(url = "https://jitpack.io") { name = "jitpack" }
        gradlePluginPortal()
    }
}
rootProject.name = "YourModpackname"

Modpack File

Creatng a new modpack within the workspace

Automatic

let the plugin automatically generate a pack skeleton

./gradlew createpack --id awesomepack --mcVersion 1.12.2 --title "Awesome Pack Demo"

Manual

packs/awesomepack.voodoo.kts

import voodoo.*
import voodoo.data.*
import voodoo.data.curse.*
import voodoo.data.nested.*
import voodoo.provider.*
import voodoo.releaseTypes
import voodoo.rootEntry
import voodoo.withDefaultMain

mcVersion = "1.12.2"
title = "Awesome Pack Demo"
forge = Forge.mc1_12_2_recommended
authors = listOf("insert-author-name")
root = rootEntry(CurseProvider) {
    TODO("to be implemented")
}

continue with the Basics