Add decompile runner workflow

This commit is contained in:
MrSphay
2026-05-04 12:00:13 +02:00
parent 592db184a2
commit 2f62e113f6
4 changed files with 171 additions and 0 deletions

60
.codex/project.md Normal file
View File

@@ -0,0 +1,60 @@
# Codex Project Notes
## Project
`Explosion Overhaul` is a private porting workspace for moving the upstream Forge 1.20.1 mod `Explosion Overhaul: A new level of destruction` to NeoForge `21.1.228` for Minecraft `1.21.1`.
Repository:
```text
MrSphay/Explosion-Overhaul
```
## Commands
Local Java is not available in the current Codex environment, so Java tasks should run on the Gitea runner until a local JDK is configured.
Planned commands:
```text
./gradlew build
./gradlew runClient
```
Windows equivalents:
```text
gradlew.bat build
gradlew.bat runClient
```
## Stack
Minecraft mod, Java 21, NeoForge `21.1.228`, Minecraft `1.21.1`.
## Build Artifacts
Release artifacts are produced in:
```text
build/libs
```
Expected files:
```text
explosionoverhaul-*.jar
```
## Security And License Rules
- Treat the decompiled upstream source as private porting material.
- Do not publish or redistribute the port without permission from the original author.
- Keep tokens and registry credentials out of the repository.
- External network calls currently used by runner workflows:
- Modrinth CDN for the upstream jar.
- CFR website for the decompiler jar.
## Current Porting State
The cloned repository initially contained the Codex Agent Repository Kit, not mod source. The first runner step is `.gitea/workflows/decompile.yml`, which creates a decompiled-source artifact for reconstruction.

View File

@@ -0,0 +1,52 @@
name: Decompile upstream jar
on:
workflow_dispatch:
jobs:
decompile:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
- name: Download upstream mod and CFR
shell: bash
run: |
mkdir -p upstream tools build/decompiled
curl --fail-with-body --location \
--output upstream/Explosion-Overhaul-0.2.3.0-forge.jar \
"https://cdn.modrinth.com/data/sOxnTLKl/versions/93XGK0uB/Explosion-Overhaul-0.2.3.0-forge-.jar"
curl --fail-with-body --location \
--output tools/cfr.jar \
"https://www.benf.org/other/cfr/cfr-0.152.jar"
- name: Decompile
shell: bash
run: |
java -jar tools/cfr.jar upstream/Explosion-Overhaul-0.2.3.0-forge.jar \
--outputdir build/decompiled \
--silent false \
--comments false \
--caseinsensitivefs true
- name: Copy metadata
shell: bash
run: |
unzip -p upstream/Explosion-Overhaul-0.2.3.0-forge.jar META-INF/mods.toml > build/decompiled/mods.toml
unzip -p upstream/Explosion-Overhaul-0.2.3.0-forge.jar explosionoverhaul.mixins.json > build/decompiled/explosionoverhaul.mixins.json
find build/decompiled -maxdepth 3 -type f | sort > build/decompiled-file-list.txt
- name: Upload decompiled sources
uses: actions/upload-artifact@v3
with:
name: explosion-overhaul-decompiled-0.2.3.0-forge
path: |
build/decompiled/**
build/decompiled-file-list.txt

17
.gitignore vendored Normal file
View File

@@ -0,0 +1,17 @@
.gradle/
build/
run/
out/
_mdk/
tools/
upstream/
decompiled/
*.class
*.jar
*.log
.idea/
.vscode/
*.iml

42
AGENTS.md Normal file
View File

@@ -0,0 +1,42 @@
# Agent Instructions
## Project
Explosion Overhaul private NeoForge port.
## Repository Rules
- This repository is for a private 1.21.1 NeoForge port of Explosion Overhaul.
- Do not publish the decompiled upstream source or release artifacts publicly unless the original author grants permission.
- Use the Gitea runner for Java/Gradle/decompiler work when local Java is unavailable.
- Preserve unrelated user changes.
- Do not commit secrets, `.env` files, private keys, certificates, or tokens.
- Do not create a public release unless explicitly requested.
## Commands
Use these commands when the NeoForge project is present:
```bash
./gradlew build
./gradlew runClient
```
On Windows:
```bat
gradlew.bat build
gradlew.bat runClient
```
## Artifacts
Expected mod jars will be produced in:
```text
build/libs
```
## Runner
The workflow `.gitea/workflows/decompile.yml` decompiles the upstream 1.20.1 Forge jar into an Actions artifact. Use it before reconstructing the NeoForge source tree.