Skip to content

bouncedpad#57: re-call AttachCapabilitiesEvent for player This should fix some mechanic inconsistencies in mods like SimpleDifficulty. Vanilla re-create a player instance when a player changes world, CraftBukkit made only single instance per player during its lifecycle(online period). Sadly, we can do nothing for this but call events that broken by CraftBukkit respawn logic. #57

bouncedpad#57: re-call AttachCapabilitiesEvent for player This should fix some mechanic inconsistencies in mods like SimpleDifficulty. Vanilla re-create a player instance when a player changes world, CraftBukkit made only single instance per player during its lifecycle(online period). Sadly, we can do nothing for this but call events that broken by CraftBukkit respawn logic.

bouncedpad#57: re-call AttachCapabilitiesEvent for player This should fix some mechanic inconsistencies in mods like SimpleDifficulty. Vanilla re-create a player instance when a player changes world, CraftBukkit made only single instance per player during its lifecycle(online period). Sadly, we can do nothing for this but call events that broken by CraftBukkit respawn logic. #57

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle
name: Build and Upload Test Artifact
on:
push:
pull_request:
workflow_dispatch:
inputs:
build_type:
type: choice
description: Build type
options:
- Stable
- Experimental
run-name: "${{ github.event_name == 'pull_request' && 'Pull Request Build, DO NOT DOWNLOAD' || format('{0}#{1}: {2}', github.ref_name, github.run_number, github.event.commits[0].message)}}"
permissions:
contents: read
jobs:
build:
name: Build and Upload Artifact
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
fetch-tags: true
fetch-depth: 0
- name: Set up JDK 21
uses: actions/[email protected]
with:
java-version: '21'
distribution: 'temurin'
- name: Get branch names.
id: branch-names
uses: tj-actions/branch-names@v8
# add more feat here if required
- name: Gather build info
id: vars
run: |
BRANCH_FEAT=$(echo "${{ steps.branch-names.outputs.current_branch }}" | cut -d'/' -f1 | awk '{print tolower($0)}')
if [ "$BRANCH_FEAT" = "experimental" ]; then
echo "BUILD_TYPE=Experimental" >> $GITHUB_OUTPUT
else
echo "BUILD_TYPE=Stable" >> $GITHUB_OUTPUT
fi
- name: Fix Gradle permission
run: chmod +x ./gradlew
- name: Setup Forge env
run: ./gradlew setup -Prun_number=${{ github.run_number }}
- name: Stop Gradle daemon
run: ./gradlew --stop
- name: Build Jars
run: ./gradlew installerJar -Prun_number=${{ github.run_number }}
- name: Get version
run: echo "CLEANROOM_VERSION=$(cat version.txt)" >> $GITHUB_ENV
- name: Upload Forge Universal
uses: actions/[email protected]
with:
name: universal-${{ env.CLEANROOM_VERSION }}
path: projects/cleanroom/build/libs/*-universal.jar
- name: Upload Forge Installer
id: upload-job
uses: actions/[email protected]
with:
name: installer-${{ env.CLEANROOM_VERSION }}
path: projects/cleanroom/build/libs/*-installer.jar
if-no-files-found: error
# - name: Repository Dispatch
# if: ${{ success() && github.event_name != 'pull_request' }}
# uses: peter-evans/repository-dispatch@v3
# with:
# token: ${{ secrets.CLEANROOMMC_DISPATCH_TOKEN }} # require PAT :shrug:
# repository: CleanroomMC/CleanroomMMC
# event-type: cleanroom_upload_artifact
# client-payload: '{"commit_hash": "${{ github.sha }}", "run_job_url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}", "branch": "${{ steps.branch-names.outputs.current_branch }}", "build_type": "${{ inputs.environment || steps.vars.outputs.BUILD_TYPE }}", "actor": "${{ github.actor }}", "version": "${{ env.CLEANROOM_VERSION }}"}'