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
30 changes: 30 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Managed by CleanroomMC/Conventions. Do not edit locally.
# Change it there and bump the convention plugin version instead.
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4
max_line_length = 160

[*.{java,gradle,groovy,kt,kts}]
indent_size = 4

[*.{json,json5,yml,yaml,toml,xml}]
indent_size = 2

[*.md]
trim_trailing_whitespace = false

[{Makefile,*.mk}]
indent_style = tab

[*.{bat,cmd}]
end_of_line = crlf

[gradlew]
end_of_line = lf
45 changes: 45 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Managed by CleanroomMC/Conventions. Do not edit locally.
# Change it there and bump the convention plugin version instead.

# Normalise on commit, check out LF everywhere. Windows contributors included.
* text=auto eol=lf

*.bat text eol=crlf
*.cmd text eol=crlf
gradlew text eol=lf
*.sh text eol=lf

*.java text
*.gradle text
*.groovy text
*.kt text
*.kts text
*.scala text
*.properties text
*.json text
*.json5 text
*.toml text
*.xml text
*.yml text
*.yaml text
*.md text

*.jar binary
*.zip binary
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ogg binary
*.wav binary
*.nbt binary
*.dat binary
*.class binary
*.ttf binary
*.otf binary
*.so binary
*.dll binary
*.dylib binary

# Keep the wrapper jar out of diffs, it is verified by checksum
**/gradle/wrapper/gradle-wrapper.jar binary linguist-vendored linguist-generated
31 changes: 0 additions & 31 deletions .github/workflows/build.yml

This file was deleted.

19 changes: 19 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: CI

on:
push:
branches:
- main
- 'develop/**'
pull_request:
types: [opened, synchronize, reopened, ready_for_review, review_requested]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
uses: CleanroomMC/Conventions/.github/workflows/build.yml@1.4.0
with:
release-branch: main
56 changes: 0 additions & 56 deletions .github/workflows/release-to-cf-mr.yml

This file was deleted.

40 changes: 16 additions & 24 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,22 @@
name: Releases
name: Release

on:
push:
tags:
- "*"
- '[0-9]+.[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+-*'
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- name: Set up JDK
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
- uses: gradle/actions/setup-gradle@v6
name: Set up Gradle
- name: Add permission
run: chmod +x ./gradlew
- name: Execute Gradle build
run: ./gradlew build
permissions:
contents: write
issues: read
pull-requests: read

- uses: ncipollo/release-action@v1
with:
artifacts: "build/libs/*"
generateReleaseNotes: true
jobs:
release:
uses: CleanroomMC/Conventions/.github/workflows/release.yml@1.4.0
with:
publish-maven: false
# Needs curseforge_project_id or modrinth_project_id in gradle.properties, and the matching token secret
publish-mods: true
secrets: inherit
133 changes: 116 additions & 17 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,27 +1,126 @@
.gradle
**/build/
!src/**/build/
run/
# >>> cleanroom-conventions
# Managed by CleanroomMC/Conventions. Do not edit the marked region locally.
# Change it there and bump the convention plugin version instead.
# Project-specific ignores go below the closing marker.
#
# Scope: JVM projects. Java, Kotlin, Groovy, Scala, and the build tools around them.

# Build output
build/
!**/src/**/build/
out/
!**/src/**/out/
bin/
!**/src/**/bin/
target/
!**/src/**/target/
classes/
!**/src/**/classes/
dist/
!**/src/**/dist/
*.class
*.tasty

# Ignore Gradle GUI config
# Gradle
.gradle/
gradle-app.setting
.gradletasknamecache
local.properties
!**/gradle/wrapper/gradle-wrapper.jar

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
# Maven
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
release.properties
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
dependency-reduced-pom.xml
buildNumber.properties
.flattened-pom.xml

# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties
# sbt and Scala
.bsp/
.bloop/
.metals/
.scala-build/
project/project/
project/target/
.scala_dependencies
.worksheet

# Cache of project
.gradletasknamecache
# Kotlin
.kotlin/
*.kotlin_module
.kotlin_native/

# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
# IntelliJ IDEA
# The code style is convention-owned and must stay tracked
.idea/*
!.idea/codeStyles/
!.idea/codeStyles/**
*.iml
*.ipr
*.iws
.idea_modules/
atlassian-ide-plugin.xml

# Eclipse
.classpath
.project
.settings/
.metadata/
.apt_generated/
.apt_generated_tests/
.factorypath
.springBeans
.sts4-cache/

# NetBeans
nbproject/private/
nbbuild/
nbdist/
.nb-gradle/

# Visual Studio Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# JVM crash and profiling output
hs_err_pid*
replay_pid*
*.hprof
*.jfr
*.log

# Minecraft Development
run/
!**/src/**/run/
logs/
!**/src/**/logs/
crash-reports/
.mixin.out/

# OS noise
.DS_Store
.AppleDouble
.LSOverride
._*
Thumbs.db
Desktop.ini
$RECYCLE.BIN/

# IDEA config
.idea
# Editors and temporary files
*.swp
*.swo
*~
*.bak
*.orig
*.rej
# <<< cleanroom-conventions

runs
2 changes: 2 additions & 0 deletions HEADER
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Copyright (c) 2026 CleanroomMC contributors
SPDX-License-Identifier: LGPL-3.0-only
Loading
Loading