Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_size = 2
indent_style = space
insert_final_newline = false
max_line_length = 100
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,32 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 21
uses: actions/setup-java@v3
- uses: actions/checkout@v5
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
distribution: 'corretto'
java-version: '21'
java-version: '25'
- name: Cache Gradle dependencies
uses: actions/cache@v5
with:
path: ~/.gradle/caches
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Cache Gradle wrapper
uses: actions/cache@v5
with:
path: ~/.gradle/wrapper
key: gradle-wrapper-${{ runner.os }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: |
gradle-wrapper-${{ runner.os }}-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build --full-stacktrace
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v6
with:
name: Artifacts
path: build/libs/*-release.jar
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ run/
# LabyGradle | Addon Plugin
build-data.txt
.assetsroot
resources_index.json
access_widener_index.json

# Don't ignore libraries
!libs/*.jar
15 changes: 4 additions & 11 deletions api/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
version = "0.1.0"
import net.labymod.labygradle.common.extension.LabyModAnnotationProcessorExtension.ReferenceType

plugins {
id("java-library")
}

dependencies {
labyProcessor()
labyApi("api")
}

labyModProcessor {
referenceType = net.labymod.gradle.core.processor.ReferenceType.INTERFACE
}

java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
labyModAnnotationProcessor {
referenceType = ReferenceType.INTERFACE
}
91 changes: 20 additions & 71 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,96 +1,45 @@
plugins {
id("java-library")
id("net.labymod.gradle")
id("net.labymod.gradle.addon")
id("net.labymod.labygradle")
id("net.labymod.labygradle.addon")
}

val versions = providers.gradleProperty("net.labymod.minecraft-versions").get().split(";")

group = "org.example"
version = System.getenv().getOrDefault("VERSION", "1.0.0")
version = providers.environmentVariable("VERSION").getOrElse("1.1.0")

labyMod {
defaultPackageName = "com.rappytv.rainbowgui"

addonInfo {
namespace = "rainbowgui"
displayName = "Rainbow GUI"
author = "RappyTV"
description = "Improve your widget HUD with some rainbow widgets."
minecraftVersion = "*"
version = getVersion().toString()
version = rootProject.version.toString()
}

minecraft {
registerVersions(
"1.8.9",
"1.12.2",
"1.16.5",
"1.17.1",
"1.18.2",
"1.19.2",
"1.19.3",
"1.19.4",
"1.20.1",
"1.20.2",
"1.20.4",
"1.20.5",
"1.20.6",
"1.21"
) { version, provider ->
configureRun(provider, version)
}

subprojects.forEach {
if (it.name != "game-runner") {
filter(it.name)
registerVersion(versions.toTypedArray()) {
runs {
getByName("client") {
devLogin = true
}
}
}
}

addonDev {
productionRelease()
}
}

subprojects {
plugins.apply("java-library")
plugins.apply("net.labymod.gradle")
plugins.apply("net.labymod.gradle.addon")

repositories {
maven("https://libraries.minecraft.net/")
maven("https://repo.spongepowered.org/repository/maven-public/")
}
}

fun configureRun(provider: net.labymod.gradle.core.minecraft.provider.VersionProvider, gameVersion: String) {
provider.runConfiguration {
mainClass = "net.minecraft.launchwrapper.Launch"
jvmArgs("-Dnet.labymod.running-version=${gameVersion}")
jvmArgs("-Dmixin.debug=true")
jvmArgs("-Dnet.labymod.debugging.all=true")
jvmArgs("-Dmixin.env.disableRefMap=true")
plugins.apply("net.labymod.labygradle")
plugins.apply("net.labymod.labygradle.addon")

args("--tweakClass", "net.labymod.core.loader.vanilla.launchwrapper.LabyModLaunchWrapperTweaker")
args("--labymod-dev-environment", "true")
args("--addon-dev-environment", "true")
}

provider.javaVersion = when (gameVersion) {
else -> {
JavaVersion.VERSION_21
}
}

provider.mixin {
val mixinMinVersion = when (gameVersion) {
"1.8.9", "1.12.2", "1.16.5" -> {
"0.6.6"
}
group = rootProject.group
version = rootProject.version

else -> {
"0.8.2"
}
}

minVersion = mixinMinVersion
extensions.findByType(JavaPluginExtension::class.java)?.apply {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
}
}
17 changes: 6 additions & 11 deletions core/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
version = "0.1.0"

plugins {
id("java-library")
}
import net.labymod.labygradle.common.extension.LabyModAnnotationProcessorExtension.ReferenceType

dependencies {
labyProcessor()
api(project(":api"))
}

labyModProcessor {
referenceType = net.labymod.gradle.core.processor.ReferenceType.DEFAULT
// An example of how to add an external dependency that is used by the addon.
// addonMavenDependency("org.jeasy:easy-random:5.0.0")
}

java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
labyModAnnotationProcessor {
referenceType = ReferenceType.DEFAULT
}
20 changes: 0 additions & 20 deletions core/src/main/java/com/rappytv/rainbowgui/RainbowGuiAddon.java

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.rappytv.rainbowgui.core;

import com.rappytv.rainbowgui.core.listener.GameTickListener;
import net.labymod.api.addon.LabyAddon;
import net.labymod.api.configuration.settings.Setting;
import net.labymod.api.configuration.settings.SettingHandler;
import net.labymod.api.models.addon.annotation.AddonMain;

@AddonMain
public class RainbowGuiAddon extends LabyAddon<RainbowGuiConfiguration> {

private static int settingsInitialized = 0;

@Override
protected void enable() {
this.registerSettingCategory();
this.registerListener(new GameTickListener(this));
}

@Override
protected Class<? extends RainbowGuiConfiguration> configurationClass() {
return RainbowGuiConfiguration.class;
}

public static boolean areSettingsInitialized() {
return settingsInitialized >= 3;
}

public static class SettingCountHandler implements SettingHandler {

@Override
public void created(Setting setting) {

}

@Override
public void initialized(Setting setting) {
settingsInitialized++;
}
}
}
Loading