Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
53d8bc3
⬆️ Update ESBuild
SnaveSutit Aug 17, 2026
38d5a76
🐛 Add Blueprint ID to anim objective names
SnaveSutit Aug 17, 2026
b7551d4
🐛 Fix block atlas being overwritten on export
SnaveSutit Aug 17, 2026
e3ae33d
✨ Improve entity UUID generation performance on 1.21.2+
SnaveSutit Aug 17, 2026
447019d
🐛 Fix a few minor issues.
SnaveSutit Aug 17, 2026
28125ef
✨ Remove recursion from rig renderer
SnaveSutit Aug 17, 2026
7835f59
🐛 Fix cube rotation validation
SnaveSutit Aug 17, 2026
a4acca5
⚙️ Update tests
SnaveSutit Aug 17, 2026
8e479a0
✨ Add a link icon for textures indicating resource pack linking
SnaveSutit Aug 17, 2026
90359e1
🐛 Fix constant log spam when unjank is installed
SnaveSutit Aug 30, 2026
3c7e73f
✂️ Reduce entity names to empty strings to improve performance
SnaveSutit Aug 30, 2026
7583baa
🐛 Fix #470
SnaveSutit Aug 30, 2026
6720da1
✨ Switch to the `block-model-renderer` library for item and block mod…
SnaveSutit Aug 30, 2026
8b41cb8
♻️ Move auto-update rig orientation toggle to the Rig settings page
SnaveSutit Sep 1, 2026
4f60088
♻️ Rework text-display font pipeline, make asset loading resource-pac…
SnaveSutit Sep 1, 2026
c080f47
✨ Add editor preview resource pack overlay
SnaveSutit Sep 1, 2026
e1c43b3
✅ Migrate test suite from vitest to jestbench
SnaveSutit Sep 2, 2026
6238ac2
🐛 Scope text-display glyph caches to the active preview resource pack
SnaveSutit Sep 2, 2026
692100a
🐛 Localize Blueprint Settings general, resource pack, and misc pages
SnaveSutit Sep 2, 2026
becee41
🐛 Give a descriptive error when user command content fails to compile
SnaveSutit Sep 2, 2026
a650cfc
🐛 Use custom_model_data for variant model swaps on 1.21.0/1.21.1
SnaveSutit Sep 2, 2026
40802e6
🐛 Persist texture groups in the Blueprint format
SnaveSutit Sep 2, 2026
d79febc
🐛 Round camera keyframe positions on export
SnaveSutit Sep 2, 2026
9eede9a
🐛 Don't require pack folders when exporting in plugin mode
SnaveSutit Sep 2, 2026
7dc16cd
🐛 Sanitize and de-duplicate internal texture names
SnaveSutit Sep 2, 2026
cec56be
🐛 Inherit step interpolation through the whole bone chain
SnaveSutit Sep 2, 2026
30ff2ca
🐛 Stop the variants list scrolling forever after a drag
SnaveSutit Sep 2, 2026
a583576
🐛 Refresh the texture link icon on any path change
SnaveSutit Sep 2, 2026
3b68675
🐛 Show a distinct icon for internal textures
SnaveSutit Sep 2, 2026
0475759
✨ Show texture thumbnails in the variant texture-map dropdowns
SnaveSutit Sep 2, 2026
a820a26
✨ Improved variant texture map UI
SnaveSutit Sep 2, 2026
257c0c0
✨ Credit Animated Java in generated model files
SnaveSutit Sep 2, 2026
a07fb7b
✨ Formalize the Plugin JSON format_version
SnaveSutit Sep 2, 2026
fa05a8c
✨ Add adjustable rig shadow (radius and strength)
SnaveSutit Sep 2, 2026
059a3e8
Disable resourcepack compiling on plugin export
Thojs Jul 30, 2026
d0c0200
Fix texture animations not being exported
Thojs Jul 30, 2026
3dea693
Fix double animated_java namespace
Thojs Jul 30, 2026
32e00e4
Add node hierarchy information
Thojs Aug 2, 2026
3a9817b
Fix including interaction data in plugin export
Thojs Aug 3, 2026
41a68d6
✨ Improve the export progress dialog
SnaveSutit Sep 2, 2026
287daf0
⚡️ Optimize animation & rig rendering
SnaveSutit Sep 2, 2026
6a516bc
✅ Fix the flaky texture-name-sanitizer test
SnaveSutit Sep 2, 2026
4cfe7c9
🐛 Fix backwards block displays in Blockbench
SnaveSutit Sep 2, 2026
041b1cc
✅ Add test coverage across the plugin
SnaveSutit Sep 2, 2026
002994e
🩹 Update default target version to 26.2
SnaveSutit Sep 2, 2026
7e3233b
♻️ Store variant texture map and excluded nodes as native collections
SnaveSutit Sep 3, 2026
93e70ab
⚡️ Skip static subtrees and batch pre-post sampling in the animation …
SnaveSutit Sep 3, 2026
8d5b860
♻️ Drive cube outline validation off Blockbench edit events
SnaveSutit Sep 3, 2026
afea622
🐛 Fix rotation limit and snap version gating
SnaveSutit Sep 3, 2026
f51d586
🩹 Drop stale ts-expect-error on cube.light_emission
SnaveSutit Sep 3, 2026
228a40d
♻️ Auto-discover and layer versioned MC-Build datapack sources
SnaveSutit Sep 3, 2026
8ae5163
🚨 Prefix intentionally-unused parameters
SnaveSutit Sep 3, 2026
799b3ad
🐛 Fix stale textureMap.map access in the rig renderer
SnaveSutit Sep 3, 2026
1aed2c1
✨ Add blockstate dropdowns to the block display panel
SnaveSutit Sep 3, 2026
e0aaf3c
🐛 Fix and document the per-version datapack compiler sources
SnaveSutit Sep 3, 2026
5df7494
🐛 Migrate datapack fixes from 26.2 down
SnaveSutit Sep 3, 2026
06dc5f3
✨ Improved Github issue templates
SnaveSutit Sep 6, 2026
7727499
✨ Improve about page
SnaveSutit Sep 22, 2026
ceb8a2c
✨ Allow editing display entity pivots
SnaveSutit Sep 29, 2026
a17e72b
🐛 Stop outlining flat item icon backgrounds
SnaveSutit Sep 29, 2026
f43011a
🐛 Fix stale variant selection across projects
SnaveSutit Sep 29, 2026
93a262f
⬆️ Bump blockbench-patch-manager to 1.3.0
SnaveSutit Sep 29, 2026
0515ce2
🔖 Bump version to 1.11.0 and update supporters
SnaveSutit Sep 29, 2026
687a891
🩹 Fix description text size parody
SnaveSutit Sep 29, 2026
ce97ca5
🎨 Change error icon for sidebar dialog items
SnaveSutit Sep 29, 2026
0ce7041
➕ Add prettier-plugin-svelte
SnaveSutit Sep 30, 2026
94490c3
🔥 Remove per-version test packs
SnaveSutit Sep 30, 2026
0c8d1f7
✨ Add Texture Slots
SnaveSutit Sep 30, 2026
d387a2d
🐛 Fix interaction error tellraw before 1.21.5
SnaveSutit Sep 30, 2026
7eb7f74
🐛 Fix entity UUID lookup on 1.21.2 to 1.21.4
SnaveSutit Sep 30, 2026
e5c82bf
🐛 Fix unchanged variant bones pointing at missing models on 1.21.2
SnaveSutit Sep 30, 2026
c56e975
✨ Support Minecraft 26.3
SnaveSutit Sep 30, 2026
e66de82
🐛 Fix ajmodel importer using old electron global
SnaveSutit Oct 2, 2026
1fc507d
✨ Add `tween_paused` function
SnaveSutit Oct 2, 2026
8f7b451
✨ Support every vanilla tint type in Item Model Properties
SnaveSutit Oct 7, 2026
dde57b3
🐛 Fix Enter not starting a new line in code editors
SnaveSutit Oct 7, 2026
119705c
👷 Add release draft and Discord announcement workflows
SnaveSutit Oct 7, 2026
279dbe5
✨ Add Texture Slot keyframes and Variant stacks
SnaveSutit Oct 7, 2026
4a60066
🐛 Run root function keyframes in storage animations
SnaveSutit Oct 7, 2026
44efa17
💄 Fix preview description font size
SnaveSutit Oct 7, 2026
56982f7
🐛 Fix tween_paused playing the animation after the tween
SnaveSutit Oct 7, 2026
b8dba51
📝 Update 1.11.0 changelog
SnaveSutit Oct 7, 2026
95a98ba
💚 Skip gl's native build on install
SnaveSutit Oct 8, 2026
74f3ea6
⬆️ Bump jestbench to 0.2.1
SnaveSutit Oct 9, 2026
a09ecb9
💚 Time out the e2e test step after 20 minutes
SnaveSutit Oct 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
107 changes: 55 additions & 52 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,39 +9,36 @@ body:
- type: markdown
attributes:
value: >-
# 👋 Thank You for Creating a Bug Report!
# 👋 Thanks for Reporting a Bug!

Every issue that gets reported and fixed is an improvement for everyone
using Animated Java!

Please fill out the following information to the best of your ability.
Providing clear, and concise information will greatly improve the
chances of your issue getting resolved!
Every bug report that gets fixed makes Animated Java better for
everyone. Fill out what you can below — the more detail you give us,
the faster we can track down the problem.

- type: checkboxes
id: confirmations
attributes:
label: 🛑 Before you Start
label: 🛑 Quick Checklist
description: >-
Please confirm you have taken the following steps *before* creating a
new issue!
A few quick checks before you post — these help us avoid duplicate
reports and wasted back-and-forth.
options:
- label: >-
I have searched [existing
bug reports](https://github.com/Animated-Java/animated-java/labels/%F0%9F%90%9B%20Bug) for
my problem.
I searched [existing bug
reports](https://github.com/Animated-Java/animated-java/labels/%F0%9F%90%9B%20Bug)
and didn't find mine.
required: true
- label: >-
I have read the
[F-A-Q](https://animated-java.dev/docs/resources/faq).
I checked the [F-A-Q](https://animated-java.dev/docs/resources/faq)
and my issue isn't answered there.
required: true
- label: >-
I am using the [latest
version](https://builds.animated-java.dev/latest) of Animated Java
I'm using the [latest
version](https://builds.animated-java.dev/latest) of Animated Java.
required: true
- label: >-
I will only report a single bug in this report. If I have found multiple
bugs, I will create a separate report for each one.
This report is about a single bug. (If I found more than one,
I'll file a separate report for each.)
required: true

- type: markdown
Expand All @@ -51,31 +48,22 @@ body:
- type: textarea
id: description
attributes:
label: 🗣️ Describe the bug
label: 🗣️ What happened?
description: >-
A clear and concise description of the bug. You may include screenshots,
videos, and other media as needed.
Describe the bug in your own words. Screenshots, videos, and
`.ajblueprint` files are all welcome, and often help us understand
the problem a lot faster.
placeholder: My lawnmower is producing large clumps of grass.
validations:
required: true

- type: textarea
id: error
attributes:
label: ⚠️ Error Message
description: The error message provided by Animated Java (If applicable)
render: javascript
placeholder: >-
If you received an error message, please paste it here. If not, you can
leave this field blank.

- type: textarea
id: repro
attributes:
label: 🔄️ How to Reproduce
label: 🔄️ Steps to reproduce
description: >-
A short explanation of how to reproduce the issue. Please include and
`.ajblueprint` files that produce the issue if applicable.
Walk us through exactly what you did, step by step, right before the
bug showed up.
placeholder: |-
1. Go to '...'
2. Click on '....'
Expand All @@ -87,46 +75,58 @@ body:
- type: textarea
id: expected
attributes:
label: ✅ Expected Behavior
description: What you expected to happen when performing the above steps.
label: ✅ What did you expect to happen instead?
placeholder: >-
My lawnmower should produce small grass clippings that easily filter
into the lawn.
validations:
required: true

- type: textarea
id: error
attributes:
label: ⚠️ Error message
description: >-
If Animated Java or Blockbench showed you an error message, paste it
here. If not, leave this blank.
render: javascript

- type: textarea
id: solutions
attributes:
label: 💡 Solutions & Alternatives
label: 💡 Found a workaround?
description: >-
Any alternative solutions, or workarounds you've considered, and why
they're not ideal.
If you've found a way around the problem — even a clunky one — let us
know. It helps other users in the meantime, and sometimes points us
straight at the fix.
placeholder: >-
- I could use a lawnmower bag, but I would need to purchase a bag, and
empty it periodically while mowing.
I could use a lawnmower bag, but I'd need to buy one, and empty it
periodically while mowing.

- type: markdown
attributes:
value: |-
# ⛰️ Environment
# ⛰️ Your Setup

Provide details about your system and setup to help diagnose the issue.
This helps us tell whether the bug is specific to a certain version,
platform, or mod/plugin combo. If you're not sure about something,
your best guess is fine.

- type: input
id: mc-version
attributes:
label: 🟩 Minecraft Version
description: The version of Minecraft you're using.
placeholder: E.g. 1.20.4, 26.1.1
description: >-
Shown in the bottom-right corner of the Minecraft title screen.
placeholder: E.g. 1.20.4, 26.2
validations:
required: true

- type: input
id: bb-version
attributes:
label: 🟦 Blockbench Version
description: The version of Blockbench you're using.
description: Found under Blockbench's Help menu → About Blockbench.
placeholder: E.g. 4.12.2
validations:
required: true
Expand All @@ -146,8 +146,10 @@ body:
- type: textarea
id: installed-bb-plugins
attributes:
label: 📃 Installed Blockbench Plugins
description: Any Blockbench Plugins you have installed other than Animated Java.
label: 📃 Other Blockbench Plugins
description: >-
Any other Blockbench plugins you have installed besides Animated
Java. If it's just Animated Java, leave this blank.
placeholder: |-
- Geckolib Animation Utils
- Cameras
Expand All @@ -157,10 +159,11 @@ body:
- type: textarea
id: environment
attributes:
label: ⛰️ Minecraft Environment
label: 🎮 Modded Client or Server?
description: >-
A description of the Minecraft environment you're using, if it's not
strictly a vanilla single-player world or server.
If you're just playing vanilla Minecraft (singleplayer or a plain
server), you can leave this blank. If you're using mods, a modpack,
or server plugins, tell us about them here.
placeholder: |
## Server environment

Expand Down
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 💬 Questions & Help
url: https://animated-java.dev/discord
about: Not sure if it's a bug, or just need a hand? Ask on Discord first!
- name: 📚 Documentation
url: https://animated-java.dev/docs
about: Guides and answers to common questions about using Animated Java.
44 changes: 24 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,35 @@ body:
- type: markdown
attributes:
value: >-
# 👋 Thank You for Opening a Feature Request!
# 👋 Thanks for the Suggestion!

Please fill out the following information to the best of your ability.
Providing clear, and concise information will greatly improve the
chances of your request getting implemented!
Fill out what you can below — clear, specific requests are much more
likely to get picked up and implemented.

- type: checkboxes
id: confirmations
attributes:
label: 🛑 Before you Start
label: 🛑 Quick Checklist
description: >-
Please confirm you have taken the following steps *before* creating a
new issue!
A few quick checks before you post — these help us avoid duplicate
requests and wasted back-and-forth.
options:
- label: >-
I have searched [existing
feature requests](https://github.com/Animated-Java/animated-java/labels/%E2%9C%A8%20Enhancement) for
my feature.
I searched [existing feature
requests](https://github.com/Animated-Java/animated-java/labels/%E2%9C%A8%20Enhancement)
and didn't find mine.
required: true
- label: >-
I have read [the documentation](https://animated-java.dev/docs/), and I am sure this feature is not already implemented.
I checked [the documentation](https://animated-java.dev/docs/)
and this isn't already possible.
required: true
- label: >-
I am using the [latest
I'm using the [latest
version](https://builds.animated-java.dev/latest) of Animated Java.
required: true
- label: >-
I will only request a single feature in this request. If I have multiple
feature requests, I will create a separate request for each one.
This request is about a single feature. (If I have more than one
idea, I'll file a separate request for each.)
required: true

- type: markdown
Expand All @@ -47,17 +47,19 @@ body:
- type: textarea
id: description
attributes:
label: 📝 Description
description: A clear and concise description of the problem or missing capability.
label: 📝 What's the problem, or what's missing?
description: >-
Describe what you're trying to do, and where Animated Java gets in
the way or falls short.
placeholder: My lawnmower doesn't work on mars.
validations:
required: true

- type: textarea
id: solution
attributes:
label: 💡 Describe the solution you'd like
description: If you have a solution in mind, please describe it.
label: 💡 What would you like to see?
description: If you already have an idea for how this could work, describe it here.
placeholder: >-
Combustion engines don't work without enough oxygen, so maybe we could
use an electric engine instead?
Expand All @@ -67,5 +69,7 @@ body:
- type: textarea
id: alternatives
attributes:
label: 🧪 Describe alternatives you've considered
description: Have you considered any alternative solutions or workarounds?
label: 🧪 Tried anything else?
description: >-
Any workarounds or alternative approaches you've already tried, and
why they didn't quite do the job.
15 changes: 14 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,18 @@ jobs:
- name: Build
run: bun run prod

# jestbench drives a real, headless Blockbench (via xvfb-run) and downloads
# it plus the target Minecraft client jar on the first run. Both live under
# ~/.envbench, so caching that folder keeps later runs offline-fast.
- name: Cache Blockbench test environment
uses: actions/cache@v4
with:
path: ~/.envbench
key: envbench-${{ runner.os }}-animated-java-tests

- name: Install xvfb
run: sudo apt-get update && sudo apt-get install -y xvfb

- name: Run tests
run: bun test
timeout-minutes: 20
run: bun run test:only
44 changes: 44 additions & 0 deletions .github/workflows/release-announce.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Announce Release

on:
release:
types: [published]

# Re-run a preview (or the live post) by hand, e.g. after fixing the notes.
workflow_dispatch:
inputs:
tag:
description: Release tag (e.g. v1.11.0)
required: true
target:
description: Where to post
type: choice
options: [test, live]
default: test

jobs:
announce:
runs-on: ubuntu-latest

permissions:
contents: read

env:
TAG: ${{ inputs.tag || github.event.release.tag_name }}
LIVE: ${{ github.event_name == 'release' || inputs.target == 'live' }}

steps:
- uses: actions/checkout@v5
with:
ref: ${{ env.TAG }}
- uses: oven-sh/setup-bun@v2

- name: Post announcement
run: bun .scripts/release/announce.ts "${TAG#v}" $([ "$LIVE" = true ] && echo --live)
env:
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }}
DISCORD_CHANNEL_ID: ${{ env.LIVE == 'true' && vars.DISCORD_CHANNEL_ID || vars.DISCORD_TEST_CHANNEL_ID }}
DISCORD_ROLE_PRERELEASE: ${{ vars.DISCORD_ROLE_PRERELEASE }}
DISCORD_ROLE_MINOR: ${{ vars.DISCORD_ROLE_MINOR }}
DISCORD_ROLE_PATCH: ${{ vars.DISCORD_ROLE_PATCH }}
DISCORD_ROLE_BREAKING: ${{ vars.DISCORD_ROLE_BREAKING }}
Loading
Loading