Skip to content
Open
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
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Create a report to help us improve Modular Machinery: Community Edition
labels: bug
---

## Describe the bug
A clear and concise description of the problem.

## To reproduce
1. Go to '...'
2. Click on '...'
3. Run command '...'
4. See error

## Expected behavior
Describe what you expected to happen.

## Logs and crash reports
- Attach `logs/latest.log` and any crash report from `crash-reports/`.

## Checklist
- [ ] I can reproduce this on the latest released version.
- [ ] I searched for existing issues.
- [ ] I included the exact source for any added or replacement mods.

## Environment
- Modular Machinery Community Edition version:
- Minecraft: 1.12.2
- Forge:
- Java: 8u__
- OS: Windows/Linux/macOS (version)
- Modpack and relevant integration mods:

## Additional context
Add any other relevant information, screenshots, or configuration excerpts.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: README
url: https://github.com/???/ModularMachinery-Community-Edition#readme
about: Check the README and bundled documentation before filing an issue.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for Modular Machinery: Community Edition
labels: enhancement
---

## Is your feature request related to a problem?
Describe the problem or limitation.

## Describe the solution you'd like
Describe the behavior you would like to see.

## Alternatives you've considered
Describe other solutions or workarounds.

## Affected components or integrations
-

## Additional context
Add mockups, configuration examples, or related links.
38 changes: 38 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Summary
Explain the motivation and context for this change.

## Type of change
- [ ] Bug fix (non-breaking change)
- [ ] New feature (non-breaking change)
- [ ] Breaking change
- [ ] Chore/refactor
- [ ] Documentation update only

## Related issues
Closes #

## What changed

-

## How to test
Provide steps and relevant commands.

```cmd
rem From the repository root, using Java 21 for Gradle
gradle setupDecompWorkspace
gradle build
```

If this changes runtime behavior, include in-game verification steps.

## Checklist
- [ ] I built the project locally with Gradle 8.14 and Java 21.
- [ ] I updated documentation when needed.
- [ ] I followed the existing code style.
- [ ] I did not include secrets or private data.
- [ ] If touching `mcmod.info`, it remains valid and accurate.
- [ ] I searched for existing PRs/issues that cover this change.

## Additional context
Add anything reviewers should know.
103 changes: 82 additions & 21 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,88 @@
name: Build mod
name: build

on: [ push, pull_request, workflow_dispatch ]
on:
push:
branches:
- '**'
tags:
- '**'
pull_request:
branches:
- '**'
workflow_dispatch:

permissions:
contents: write

jobs:
build:
name: Build mod
runs-on: ubuntu-latest

env:
CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '8'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Build with Gradle
run: ./gradlew -Pnet.minecraftforge.gradle.disableUpdateChecker=true build
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ModularMachinery-CE
path: build/libs
- name: Checkout
uses: actions/checkout@v4

# Gradle 8.14/RFG 1.4.9 needs Java 21
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: '21'

- name: Cache Gradle and RFG
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
~/.gradle/jdks
key: gradle-${{ runner.os }}-rfg-1_12_2-${{ hashFiles('**/*.gradle*', 'gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-rfg-1_12_2-

- name: Make gradlew executable
run: chmod +x gradlew

- name: Build
run: |
./gradlew --version
./gradlew setupDecompWorkspace --info
./gradlew build --info

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: modularmachinery-community-edition-jar
path: build/libs/*.jar

- name: Publish GitHub Release (tags only)
if: ${{ startsWith(github.ref, 'refs/tags/') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
TAG="${GITHUB_REF##*/}"
VERSION=$(./gradlew -q printVersion)
FULL_VERSION=$(./gradlew -q printFullVersion)
RELEASE_TYPE=$(./gradlew -q printReleaseType)
NOTES_FILE="/tmp/release_notes.md"

if [[ -f CHANGELOG.md ]]; then
./gradlew -q printChangelog > "$NOTES_FILE"
else
printf 'Release %s\n' "$FULL_VERSION" > "$NOTES_FILE"
fi

gh release create "$TAG" build/libs/*.jar \
--title "$FULL_VERSION" \
--notes-file "$NOTES_FILE" \
$(if [[ "$RELEASE_TYPE" != "release" ]]; then echo "--prerelease"; fi)

- name: Publish to CurseForge (configured tags only)
if: ${{ env.CURSEFORGE_TOKEN != '' && vars.CURSEFORGE_PROJECT_ID != '' && startsWith(github.ref, 'refs/tags/') }}
run: |
RELEASE_TYPE=$(./gradlew -q printReleaseType)
./gradlew curseforge --no-daemon \
-Ppublish_to_curseforge=true \
-Pcurseforge_project_id="${{ vars.CURSEFORGE_PROJECT_ID }}" \
-Prelease_type="$RELEASE_TYPE"
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,11 @@ hs_err_pid*

# For good measure...
*.jks
gradle.properties

.vscode

/libs/*
.gradle
.gradle
.kotlin
*.patch
*.zip
Loading