Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
23105eb
basic
dima-dencep Feb 6, 2026
a8c6afb
Migrate to classTweaker
dima-dencep Feb 6, 2026
b626fd5
get rid of deprecated stuff
dima-dencep Feb 6, 2026
e803658
Update player_animation_library.classtweaker
dima-dencep Feb 6, 2026
2211b37
Merge branch 'main' into 26.1
dima-dencep Feb 6, 2026
0005dc2
Better RawAnimation (#83)
ZigyTheBird Feb 6, 2026
ac2598e
make get3DTransform return void (#89)
dima-dencep Feb 6, 2026
8eeb22e
neoforge
dima-dencep Feb 6, 2026
fcfd587
merged jar
dima-dencep Feb 6, 2026
3013aa8
Update release.yml
dima-dencep Feb 6, 2026
209ebf3
Update build.gradle
dima-dencep Feb 6, 2026
b56721e
update
dima-dencep Feb 6, 2026
8bf11d7
Fix AT
dima-dencep Feb 6, 2026
2304d95
Update build.gradle
dima-dencep Feb 6, 2026
ff7f9bd
Update .gitignore
ZigyTheBird Feb 8, 2026
ff660b8
neoforge
dima-dencep Feb 13, 2026
76541a1
update mocha
dima-dencep Feb 17, 2026
d2c3878
snap7
dima-dencep Feb 17, 2026
dfa000d
neofroge
dima-dencep Feb 17, 2026
b28b229
update to snap9
dima-dencep Feb 21, 2026
2214637
Network V6 (#102)
dima-dencep Feb 26, 2026
8ccd8d4
Bone refactor (#99)
ZigyTheBird Feb 26, 2026
77b46f7
snap10
dima-dencep Feb 26, 2026
e994aca
Update PlayerAnimLibMod.java
dima-dencep Feb 26, 2026
57346af
wtf
dima-dencep Feb 26, 2026
24b15b0
ct
dima-dencep Mar 2, 2026
fe607a3
Update player_animation_library.classtweaker
dima-dencep Mar 3, 2026
11d5eb4
Merge branch 'main' into 26.1
dima-dencep Mar 7, 2026
bd7158c
port to 26.1 snap 11
dima-dencep Mar 7, 2026
3ff28ca
Fix deps
dima-dencep Mar 7, 2026
7e5c306
Update build.gradle
dima-dencep Mar 10, 2026
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
150 changes: 20 additions & 130 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,161 +9,62 @@ on:
required: true

jobs:
build:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout Branch
uses: actions/checkout@v3

- name: Get Artifact Id
uses: actions/github-script@v5
env:
branch: ${{ github.head_ref || github.ref_name }}
id: artifact_id
with:
result-encoding: string
script: |
// use env branch replace / with _
return process.env.branch.replace(/\//g, '_')
uses: actions/checkout@v4

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: 21
java-version: 25

- name: Grant Execute Permission
run: chmod +x gradlew

- name: Build
run: |
./gradlew build

- name: Upload To Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ steps.artifact_id.outputs.result }}
path: |
./dist/**/*
./minecraft/fabric/build/libs
./minecraft/neoforge/build/libs
./gradle.properties

deploy:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Checkout Branch
uses: actions/checkout@v3

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: 21

- name: Get Artifact Id
uses: actions/github-script@v5
env:
branch: ${{ github.head_ref || github.ref_name }}
id: artifact_id
with:
result-encoding: string
script: |
// use env branch replace / with _
return process.env.branch.replace(/\//g, '_')

- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: ${{ steps.artifact_id.outputs.result }}
run: ./gradlew build

- name: Load Gradle Properties
uses: christian-draeger/read-properties@1.1.1
id: gradle_properties
with:
path: './gradle.properties'
properties: 'java_version minecraft_version mod_version'
properties: 'minecraft_version mod_version'

- name: Check For Fabric Jar
uses: actions/github-script@v5
id: fabric_release
with:
result-encoding: string
script: |
const fs = require("fs")
return fs.readdirSync("./minecraft/fabric/build/libs")[0] || false;

- name: Check For Forge Jar
uses: actions/github-script@v5
id: forge_release
with:
result-encoding: string
script: |
const fs = require("fs")
return fs.readdirSync("./minecraft/neoforge/build/libs")[0] || false;

- name: Run Publish Fabric
if: ${{ steps.fabric_release.outputs.result != 'false' }}
id: publish_fabric
- name: Run Publish
id: publish_merged
uses: Kir-Antipov/mc-publish@v3.3
with:
modrinth-id: ha1mEyJS
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
modrinth-featured: false
modrinth-featured: true
modrinth-unfeature-mode: any

curseforge-id: 1283899
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }}

name: ${{ steps.gradle_properties.outputs.mod_version }}+${{ steps.gradle_properties.outputs.minecraft_version }}-Fabric
version: ${{ steps.gradle_properties.outputs.mod_version }}

files: |
./minecraft/fabric/build/libs/!(*-@(dev|sources|javadoc|all|dev-shadow)).jar
./minecraft/fabric/build/libs/*-@(dev|sources|javadoc|all|dev-shadow).jar
version-type: release

loaders: fabric
game-versions: |
${{ steps.gradle_properties.outputs.minecraft_version }}

changelog-file: CHANGELOG.md

java: ${{ steps.gradle_properties.outputs.java_version }}
retry-attempts: 5
retry-delay: 60000
fail-mode: skip

- name: Run Publish Forge
if: ${{ steps.forge_release.outputs.result != 'false' }}
id: publish_forge
uses: Kir-Antipov/mc-publish@v3.3
with:
modrinth-id: ha1mEyJS
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
modrinth-featured: false
modrinth-unfeature-mode: any
github-tag: v${{ steps.gradle_properties.outputs.mod_version }}+${{ steps.gradle_properties.outputs.minecraft_version }}
github-token: ${{ secrets.GITHUB_TOKEN }}

curseforge-id: 1283899
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }}

name: ${{ steps.gradle_properties.outputs.mod_version }}+${{ steps.gradle_properties.outputs.minecraft_version }}-NeoForge
name: ${{ steps.gradle_properties.outputs.mod_version }}+${{ steps.gradle_properties.outputs.minecraft_version }}
version: ${{ steps.gradle_properties.outputs.mod_version }}

files: |
./minecraft/neoforge/build/libs/!(*-@(dev|sources|javadoc|all|dev-shadow)).jar
./minecraft/neoforge/build/libs/*-@(dev|sources|javadoc|all|dev-shadow).jar
./minecraft/build/libs/PlayerAnimationLibMerged-*.jar
version-type: release

loaders: neoforge
loaders: |
fabric
neoforge
game-versions: |
${{ steps.gradle_properties.outputs.minecraft_version }}

changelog-file: CHANGELOG.md

java: ${{ steps.gradle_properties.outputs.java_version }}
java: 25
retry-attempts: 5
retry-delay: 60000
fail-mode: skip
Expand All @@ -174,22 +75,11 @@ jobs:
{
echo 'P2D_LINKS<<EOF'

# --- Fabric ---
if [ -n "${{ steps.publish_fabric.outputs.modrinth-url }}" ]; then
echo "Modrinth (Fabric)|${{ steps.publish_fabric.outputs.modrinth-url }}|MODRINTH"
fi
if [ -n "${{ steps.publish_fabric.outputs.curseforge-url }}" ]; then
echo "CurseForge (Fabric)|${{ steps.publish_fabric.outputs.curseforge-url }}|CURSEFORGE"
fi

echo ""

# --- NeoForge ---
if [ -n "${{ steps.publish_forge.outputs.modrinth-url }}" ]; then
echo "Modrinth (NeoForge)|${{ steps.publish_forge.outputs.modrinth-url }}|MODRINTH"
if [ -n "${{ steps.publish_merged.outputs.modrinth-url }}" ]; then
echo "Modrinth|${{ steps.publish_merged.outputs.modrinth-url }}|MODRINTH"
fi
if [ -n "${{ steps.publish_forge.outputs.curseforge-url }}" ]; then
echo "CurseForge (NeoForge)|${{ steps.publish_forge.outputs.curseforge-url }}|CURSEFORGE"
if [ -n "${{ steps.publish_merged.outputs.curseforge-url }}" ]; then
echo "CurseForge|${{ steps.publish_merged.outputs.curseforge-url }}|CURSEFORGE"
fi

echo 'EOF'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ classes/
*.launch
*.log
.DS_Store
/minecraft/src/main/resources/assets/player_animation_library/player_animations/dont_include
16 changes: 12 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ import org.apache.commons.lang3.StringUtils

plugins {
id "org.redlance.dima_dencep.gradle.PublishToDiscord" version "1.0.6"
id "dev.architectury.loom" version "1.13-SNAPSHOT" apply false
id "architectury-plugin" version "3.4-SNAPSHOT" apply false
id "com.gradleup.shadow" version "9.3.0" apply false
id "xyz.wagyourtail.unimined" version "1.4.2+redlance.2" apply false
id "com.gradleup.shadow" version "9.3.1" apply false
}

allprojects {
apply plugin: "java"
apply plugin: "java-library"
apply plugin: "maven-publish"

base.archivesName = "${rootProject.archives_base_name}${StringUtils.capitalize(project.name)}"
Expand All @@ -24,6 +24,14 @@ allprojects {
includeModule("org.lwjgl", "lwjgl-freetype")
}
}
maven {
name = "Maven for PR #2988" // https://github.com/neoforged/NeoForge/pull/2988
url = uri("https://prmaven.neoforged.net/NeoForge/pr2988")
content {
includeModule("net.neoforged", "neoforge")
includeModule("net.neoforged", "testframework")
}
}
maven {
name = "NeoForged"
url = "https://maven.neoforged.net/releases"
Expand All @@ -36,7 +44,7 @@ allprojects {

tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.release.set 21
options.release.set 25
}

java {
Expand Down
13 changes: 6 additions & 7 deletions core/build.gradle
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
apply plugin: "java-library"

dependencies {
implementation api("com.zigythebird:mochafloats:$rootProject.molang_version") {
api("com.zigythebird:mochafloats:$rootProject.molang_version") {
transitive = false
}
implementation api("org.javassist:javassist:$rootProject.javassist_version")
compileOnlyApi("org.jetbrains:annotations:26.0.2")

// Minecraft libs
implementation api("com.google.code.gson:gson:2.13.2")
implementation api("org.slf4j:slf4j-api:2.0.17")
implementation api("it.unimi.dsi:fastutil:8.5.18")
implementation api("io.netty:netty-buffer:4.2.7.Final")
implementation api("org.joml:joml:1.10.8")
api("com.google.code.gson:gson:2.13.2")
api("org.slf4j:slf4j-api:2.0.17")
api("it.unimi.dsi:fastutil:8.5.18")
api("io.netty:netty-buffer:4.2.7.Final")
api("org.joml:joml:1.10.8")

// Testing
testImplementation("org.junit.jupiter:junit-jupiter-api:6.0.1")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
import com.zigythebird.playeranimcore.animation.keyframe.event.data.CustomInstructionKeyframeData;
import com.zigythebird.playeranimcore.animation.keyframe.event.data.ParticleKeyframeData;
import com.zigythebird.playeranimcore.animation.keyframe.event.data.SoundKeyframeData;
import com.zigythebird.playeranimcore.enums.AnimationStage;
import com.zigythebird.playeranimcore.loading.UniversalAnimLoader;
import com.zigythebird.playeranimcore.math.Vec3f;
import org.jetbrains.annotations.NotNull;
Expand All @@ -54,7 +53,7 @@ public int hashCode() {
}

static Animation generateWaitAnimation(float length) {
return new Animation(new ExtraAnimationData(ExtraAnimationData.NAME_KEY, AnimationStage.WAIT.name()), length, LoopType.PLAY_ONCE,
return new Animation(new ExtraAnimationData(ExtraAnimationData.NAME_KEY, "internal.wait"), length, LoopType.PLAY_ONCE,
Collections.emptyMap(), UniversalAnimLoader.NO_KEYFRAMES, new HashMap<>(), new HashMap<>());
}

Expand Down
Loading