Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
219 commits
Select commit Hold shift + click to select a range
12405c9
update: 3.0.0
toxicity188 Mar 22, 2026
88813a5
feat: mesh support
toxicity188 Mar 29, 2026
df82dcf
Merge branch 'v2-dev' into ver/26.1
toxicity188 Mar 29, 2026
533a77a
fix: commit problem
toxicity188 Mar 29, 2026
34df3bd
feat: bettermodel-mod-api
toxicity188 Mar 29, 2026
6fe36a2
feat: animation priority
toxicity188 Mar 29, 2026
9ea4064
docs: write Javadocs
toxicity188 Mar 29, 2026
2ede6ed
docs: write Javadocs
toxicity188 Mar 29, 2026
06ecf9f
docs: update 3.0.0.md
toxicity188 Mar 31, 2026
e5c9139
Merge branch 'v2-dev' into ver/26.1
toxicity188 Apr 1, 2026
5e036de
fix: license header
toxicity188 Apr 1, 2026
b737e39
chore: Minecraft 26.1.1
toxicity188 Apr 1, 2026
2717eba
feat: Minecraft 26.1.1 support
toxicity188 Apr 4, 2026
0e01f3d
chore: write 3.0.0.md
toxicity188 Apr 4, 2026
f80c8af
chore: [ci skip] hangar publish
toxicity188 Apr 4, 2026
dd2bf6c
fix(deps): update dependency dev.yumi.gradle.licenser:dev.yumi.gradle…
renovate[bot] Apr 4, 2026
4c109b5
fix(deps): update dependency net.skinsrestorer:skinsrestorer-api to v…
renovate[bot] Apr 4, 2026
584555a
chore: [ci skip] edit 3.0.0.md
toxicity188 Apr 4, 2026
1ab904c
chore: [ci skip] edit 3.0.0.md
toxicity188 Apr 4, 2026
3dfe0f4
Merge pull request #322 from toxicity188/renovate/dev.yumi.gradle.lic…
toxicity188 Apr 4, 2026
e40371f
Merge pull request #319 from toxicity188/renovate/net.skinsrestorer-s…
toxicity188 Apr 4, 2026
a8389d2
chore: com.vdurmont:semver4j -> org.semver4j:semver4j
toxicity188 Apr 5, 2026
c72f553
perf: optimize bezier
toxicity188 Apr 6, 2026
44b70c4
chore: update fabric api
toxicity188 Apr 6, 2026
861be9d
chore: update polymer-resource-pack to 0.16.1+26.1.1
toxicity188 Apr 6, 2026
4d329a6
chore: update net.citizensnpcs:citizens-main to 2.0.42-SNAPSHOT
toxicity188 Apr 6, 2026
4aba081
fix: restore Spigot NMS
toxicity188 Apr 6, 2026
fd83c22
feat: drop 1.21.1 support
toxicity188 Apr 6, 2026
b08abc0
refactor: optimize import
toxicity188 Apr 6, 2026
7034dee
fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.0
renovate[bot] Apr 7, 2026
ad287dc
Merge pull request #320 from toxicity188/renovate/net.fabricmc-fabric…
toxicity188 Apr 9, 2026
f1281bf
fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.1
renovate[bot] Apr 9, 2026
1aa7a90
fix(deps): update dependency dev.yumi.gradle.licenser:dev.yumi.gradle…
renovate[bot] Apr 9, 2026
66d2622
Merge pull request #327 from toxicity188/renovate/dev.yumi.gradle.lic…
toxicity188 Apr 10, 2026
07eea59
Merge pull request #326 from toxicity188/renovate/net.fabricmc-fabric…
toxicity188 Apr 10, 2026
765f1c2
fix(deps): update dependency dev.yumi.gradle.licenser:dev.yumi.gradle…
renovate[bot] Apr 10, 2026
de4245e
Merge pull request #328 from toxicity188/renovate/dev.yumi.gradle.lic…
toxicity188 Apr 10, 2026
47f3cac
feat: 26.1.2
toxicity188 Apr 10, 2026
eb1e13f
fix(deps): update dependency net.skinsrestorer:skinsrestorer-api to v…
renovate[bot] Apr 11, 2026
abb1a8d
Merge pull request #330 from toxicity188/renovate/net.skinsrestorer-s…
toxicity188 Apr 12, 2026
7cb06ed
chore: update cloud
toxicity188 Apr 12, 2026
3914715
fix: global rot (#325)
toxicity188 Apr 12, 2026
957fb6c
chore: update 3.0.0.md
toxicity188 Apr 12, 2026
41bad24
chore: update Purpur api
toxicity188 Apr 13, 2026
d094150
fix: close limb when reloading
toxicity188 Apr 13, 2026
390636f
refactor: remove unused code
toxicity188 Apr 14, 2026
7c3de5f
perf: minor optimization for some method
toxicity188 Apr 14, 2026
254c344
fix(deps): update dependency com.google.guava:guava to v33.6.0-jre
renovate[bot] Apr 14, 2026
f9d3277
Merge pull request #332 from toxicity188/renovate/guava-monorepo
toxicity188 Apr 15, 2026
7d1e4d0
fix(deps): update dependency net.kyori:adventure-platform-fabric to v…
renovate[bot] Apr 15, 2026
0625466
Merge pull request #333 from toxicity188/renovate/net.kyori-adventure…
toxicity188 Apr 15, 2026
291fd69
chore: write 3.0.0.md
toxicity188 Apr 15, 2026
02dfef1
update: 3.0.1
toxicity188 Apr 15, 2026
1bbf022
chore: update net.fabricmc.fabric-loom-repositories to 1.16-SNAPSHOT
toxicity188 Apr 15, 2026
5a4438c
chore: update net.fabricmc:fabric-loader to 0.19.2
toxicity188 Apr 16, 2026
51b9db3
chore: update Skript to v2.15.0 for test server
toxicity188 Apr 18, 2026
94c51e5
chore: update fabric-api to v0.146.1+26.1.2
toxicity188 Apr 18, 2026
a5dabeb
chore: update eu.pb4:polymer-resource-pack to v0.16.3+26.1.2
toxicity188 Apr 18, 2026
dc9e474
fix: PriorityMap
toxicity188 Apr 19, 2026
c7c2bd6
fix: PriorityMap#get
toxicity188 Apr 19, 2026
1833e53
chore: write 3.0.1.md
toxicity188 Apr 19, 2026
25cc080
update: 3.0.2
toxicity188 Apr 20, 2026
7f10de1
refactor: remove unused code
toxicity188 Apr 20, 2026
b677a39
chore: update ViaVersion to v5.9.0 for test server
toxicity188 Apr 20, 2026
698a7fb
fix(deps): update dependency org.projectlombok:lombok to v1.18.46
renovate[bot] Apr 22, 2026
6f4c173
fix: remove HitBoxInteractEvent, port to HitBoxInteractAtEvent
toxicity188 Apr 22, 2026
a2e1a86
fix(deps): update kotlin monorepo to v2.3.21
renovate[bot] Apr 23, 2026
2bcf1cb
Merge pull request #338 from toxicity188/renovate/kotlin-monorepo
toxicity188 Apr 23, 2026
cc7c4a1
Merge pull request #337 from toxicity188/renovate/org.projectlombok-l…
toxicity188 Apr 23, 2026
7744bbc
fix(deps): update dependency com.google.code.gson:gson to v2.14.0
renovate[bot] Apr 23, 2026
73f2222
Merge pull request #339 from toxicity188/renovate/com.google.code.gso…
toxicity188 Apr 23, 2026
37d7fae
chore: update net.fabricmc:fabric-language-kotlin to v1.13.11+kotlin.…
toxicity188 Apr 24, 2026
58e9623
chore: update gradle to v9.5.0
toxicity188 Apr 28, 2026
fe165e8
chore: update fabric-api to v0.147.0+26.1.2
toxicity188 Apr 28, 2026
50dde87
fix(deps): update dependency com.nexomc:nexo to v1.23
renovate[bot] Apr 28, 2026
6ff2c1f
Merge pull request #340 from toxicity188/renovate/com.nexomc-nexo-1.x
toxicity188 Apr 30, 2026
6bd8d0e
Revert "fix(deps): update dependency com.nexomc:nexo to v1.23"
toxicity188 Apr 30, 2026
26bddd0
chore: change dokka target module
toxicity188 Apr 30, 2026
237b962
fix: make hitbox interaction should not be canceled
toxicity188 Apr 30, 2026
cbc59c0
fix(deps): update dependency io.lumine:mythic-dist to v5.12.0
renovate[bot] May 2, 2026
ec36f49
update: 3.0.3
toxicity188 May 2, 2026
418b15c
chore: update Skript to v2.15.2 for test server
toxicity188 May 2, 2026
9e7b86c
Merge pull request #341 from toxicity188/renovate/io.lumine-mythic-di…
toxicity188 May 2, 2026
7be2086
chore: update eu.pb4:polymer-resource-pack to v0.16.4+26.1.2
toxicity188 May 2, 2026
8e92198
fix: update MythicMobsValue.kt to port MythicMobs v5.12.0
toxicity188 May 2, 2026
0051f3b
fix(deps): update dependency com.github.ben-manes.caffeine:caffeine t…
renovate[bot] May 3, 2026
02f361f
Merge pull request #342 from toxicity188/renovate/com.github.ben-mane…
toxicity188 May 3, 2026
6b73169
chore: remove stable_player_display to library list
toxicity188 May 3, 2026
a9276eb
fix(deps): update dependency dev.yumi.gradle.licenser:dev.yumi.gradle…
renovate[bot] May 4, 2026
a22f30b
Merge pull request #343 from toxicity188/renovate/dev.yumi.gradle.lic…
toxicity188 May 5, 2026
ecc0934
refactor: add @NotNull annotation to some method
toxicity188 May 5, 2026
539bbd7
chore: update fabric-api to v0.148.0+26.1.2
toxicity188 May 5, 2026
73f644f
Merge remote-tracking branch 'origin/v3-dev' into v3-dev
toxicity188 May 5, 2026
7e3a690
chore: update adventure-api to v5.0.1
toxicity188 May 5, 2026
e0c30a3
Revert "chore: update adventure-api to v5.0.1"
toxicity188 May 5, 2026
6f9de27
refactor: make info component to prevent
toxicity188 May 5, 2026
0214259
chore: update ViaVersion to v5.9.1. for test server
toxicity188 May 5, 2026
636bcfd
update: 3.1.0
toxicity188 May 10, 2026
c6899ad
feat: rewrite AnimationGenerator for parallel processing of animation…
toxicity188 May 10, 2026
292f373
fix: initial tick of animation
toxicity188 May 10, 2026
dfc1627
fix: skip first frame on generating animation
toxicity188 May 10, 2026
ce7b505
fix: calculation delta rotation
toxicity188 May 10, 2026
f60ec42
refactor: simplify AnimationGenerator
toxicity188 May 11, 2026
b4fb743
chore: update fabric-api to v0.148.2+26.1.2
toxicity188 May 11, 2026
377a115
refactor: simplify AnimationGenerator
toxicity188 May 14, 2026
521eac9
chore: update gradle to v9.5.1
toxicity188 May 14, 2026
3b5d1df
fix(deps): update dependency org.ow2.asm:asm-tree to v9.10
renovate[bot] May 14, 2026
429044a
Merge pull request #350 from toxicity188/renovate/org.ow2.asm-asm-tre…
toxicity188 May 15, 2026
e77a8b0
chore: update fabric-api to v0.149.0+26.1.2
toxicity188 May 15, 2026
917a95f
refactor: minecraft tick constant field
toxicity188 May 16, 2026
78d5ce8
chore: update workflows
toxicity188 May 16, 2026
e88c8f4
feat: fully obfuscating resource pack
toxicity188 May 16, 2026
8a4a2b2
chore: update BANNER.md
toxicity188 May 19, 2026
ad45708
chore: update fabric-api to v0.149.1+26.1.2
toxicity188 May 21, 2026
ee62424
perf: use array in AnimationGenerator
toxicity188 May 23, 2026
798d982
fix(deps): update dependency org.ow2.asm:asm-tree to v9.10.1
renovate[bot] May 23, 2026
583eaa2
fix(deps): update dependency io.lumine:mythic-dist to v5.12.1
renovate[bot] May 24, 2026
9802fec
Merge pull request #353 from toxicity188/renovate/io.lumine-mythic-di…
toxicity188 May 24, 2026
e2f0bad
Merge pull request #352 from toxicity188/renovate/org.ow2.asm-asm-tre…
toxicity188 May 24, 2026
fef048f
chore: write 3.1.0.md
toxicity188 May 25, 2026
94b773b
fix(deps): update dependency com.gradleup.shadow:com.gradleup.shadow.…
renovate[bot] May 28, 2026
b1f9558
update: 3.2.0
toxicity188 May 28, 2026
27bafbd
Merge pull request #354 from toxicity188/renovate/shadow
toxicity188 May 28, 2026
9f474a8
chore: update polymer-resource-pack to v0.16.5+26.1.2
toxicity188 May 28, 2026
00c921a
chore: update fabric-api to v0.150.0+26.1.2
toxicity188 May 29, 2026
5211400
feat: make BoneName comparable
toxicity188 May 31, 2026
03855cc
fix: RenderSource
toxicity188 May 31, 2026
2bc9301
fix: BoneRenderContext
toxicity188 May 31, 2026
58e8d69
docs: add package-info.java
toxicity188 May 31, 2026
052e76b
fix(deps): update dependency net.fabricmc:fabric-loader to v0.19.3
renovate[bot] Jun 1, 2026
0c16773
Merge pull request #357 from toxicity188/renovate/net.fabricmc-fabric…
toxicity188 Jun 2, 2026
bd97842
chore: update Skript to v2.15.3 for test server
toxicity188 Jun 2, 2026
d642c82
docs: add package-info.java
toxicity188 Jun 2, 2026
968cb40
refactor: simplify RenderSource
toxicity188 Jun 2, 2026
66d27cf
fix: script variable key with no value
toxicity188 Jun 2, 2026
6842a7b
refactor: change AbstractHitBox access modifier to package-private
toxicity188 Jun 3, 2026
ae793ad
chore: update README.md and BANNER.md
toxicity188 Jun 3, 2026
02f90b1
chore: update kotlin to v2.4.0
toxicity188 Jun 3, 2026
4d7b59a
chore: update fabric-language-kotlin to v1.13.12+kotlin.2.4.0
toxicity188 Jun 3, 2026
a3b9903
fix(deps): update dependency net.skinsrestorer:skinsrestorer-api to v…
renovate[bot] Jun 5, 2026
c627749
Merge pull request #359 from toxicity188/renovate/net.skinsrestorer-s…
toxicity188 Jun 6, 2026
5a06dd5
fix(deps): update dependency net.skinsrestorer:skinsrestorer-api to v…
renovate[bot] Jun 6, 2026
534181b
Merge pull request #360 from toxicity188/renovate/net.skinsrestorer-s…
toxicity188 Jun 6, 2026
0a8b024
refactor: simplify HttpUtil
toxicity188 Jun 6, 2026
26fcdb8
chore: add folia task
toxicity188 Jun 6, 2026
7a70921
refactor: simplify lambda function
toxicity188 Jun 9, 2026
6a46936
chore: update v26_R1 nms
toxicity188 Jun 11, 2026
b470398
chore: update fabric-api to v0.151.0+26.1.2
toxicity188 Jun 11, 2026
af2dda9
feat: initial 26.2 nms
toxicity188 Jun 13, 2026
ce546f6
feat: initial 26.2 fabric port
toxicity188 Jun 13, 2026
6877e9c
fix: build script
toxicity188 Jun 13, 2026
45f5d7c
chore: edit BANNER.md and README.md
toxicity188 Jun 13, 2026
42fb7c9
chore: add v26_R2 nms to paper, spigot jar
toxicity188 Jun 13, 2026
4ac433f
chore: update polymer-resource-pack to v0.17.0+26.2-rc-2
toxicity188 Jun 16, 2026
69b6877
chore: update Minecraft version to 26.2
toxicity188 Jun 16, 2026
32dbc46
refactor: BetterModelLoggerImpl.kt
toxicity188 Jun 17, 2026
e64f319
chore: update fabric-api to v0.152.1+26.2
toxicity188 Jun 17, 2026
3650cd9
feat: 26.2 nms
toxicity188 Jun 17, 2026
8e38fa2
fix(deps): update dependency net.skinsrestorer:skinsrestorer-api to v…
renovate[bot] Jun 17, 2026
87e9122
Merge pull request #369 from toxicity188/renovate/net.skinsrestorer-s…
toxicity188 Jun 17, 2026
948134e
Merge branch 'v3-dev' into ver/26.2
toxicity188 Jun 17, 2026
ef4d2a7
chore: update v26_R2 nms to 26.2.build.+
toxicity188 Jun 17, 2026
6909c93
chore: update cloud-paper to 2.0.0-SNAPSHOT
toxicity188 Jun 17, 2026
1375bf4
chore: update adventure-platform-fabric to v7.0.0
toxicity188 Jun 17, 2026
a291642
chore: update purpur-api to v26.2.build.+
toxicity188 Jun 18, 2026
12351d5
feat: port to adventure 5
toxicity188 Jun 18, 2026
31d04c5
chore: update adventure-platform-bukkit to v5.1.1
toxicity188 Jun 18, 2026
821bb5d
chore: update issue template
toxicity188 Jun 18, 2026
ec35c17
fix: adventure 5 compatibility
toxicity188 Jun 18, 2026
1d867ba
Merge pull request #368 from toxicity188/ver/26.2
toxicity188 Jun 18, 2026
08cc95c
chore: update fabric-loom to v1.17-SNAPSHOT
toxicity188 Jun 18, 2026
84d1349
chore: update fabric-api to v0.152.2+26.2
toxicity188 Jun 18, 2026
df1ea76
chore(deps): update actions/checkout action to v7
renovate[bot] Jun 18, 2026
7a7b215
Merge pull request #372 from toxicity188/renovate/actions-checkout-7.x
toxicity188 Jun 18, 2026
dfcc7ca
chore(deps): update gradle to v9.6.0
renovate[bot] Jun 19, 2026
1784076
Merge pull request #373 from toxicity188/renovate/gradle-9.x
toxicity188 Jun 19, 2026
3f7e6fd
chore: update cloud
toxicity188 Jun 19, 2026
cc267b6
chore: update 3.2.0.md
toxicity188 Jun 19, 2026
c21cf62
update: 3.2.1
toxicity188 Jun 20, 2026
439b765
chore: rewrite deprecated method for build script
toxicity188 Jun 20, 2026
fe7c6f4
fix(deps): update dependency io.github.toxicity188:adventure-platform…
renovate[bot] Jun 20, 2026
ada5e1b
fix(deps): update dependency com.vanniktech.maven.publish:com.vannikt…
renovate[bot] Jun 21, 2026
480252e
Merge pull request #375 from toxicity188/renovate/com.vanniktech.mave…
toxicity188 Jun 22, 2026
c2a3606
chore: update citizens-main to v2.0.43-SNAPSHOT
toxicity188 Jun 24, 2026
088fff1
chore: update fabric-api to v0.153.0+26.2
toxicity188 Jun 24, 2026
105fa46
Merge pull request #374 from toxicity188/renovate/io.github.toxicity1…
toxicity188 Jun 25, 2026
6c50170
fix(deps): update dependency com.gradleup.shadow:com.gradleup.shadow.…
renovate[bot] Jun 26, 2026
885a7dc
chore(deps): update gradle to v9.6.1
renovate[bot] Jun 26, 2026
c81e8a1
Merge pull request #379 from toxicity188/renovate/gradle-9.x
toxicity188 Jun 28, 2026
48b648d
fix(deps): update dependency net.kyori:adventure-api to v5.2.0
renovate[bot] Jun 28, 2026
33496a8
chore: update polymer-resource-pack to v0.17.1+26.2
toxicity188 Jun 28, 2026
735e7b5
chore: update neoform to 26.2-1
toxicity188 Jun 28, 2026
cdf2af4
fix: NoSuchMethodError in some server implementation (#376)
toxicity188 Jun 28, 2026
1d11587
Merge pull request #378 from toxicity188/renovate/shadow
toxicity188 Jun 28, 2026
e0d88d2
fix(deps): update dependency io.github.toxicity188:adventure-platform…
renovate[bot] Jun 28, 2026
955796d
fix(deps): update dependency net.skinsrestorer:skinsrestorer-api to v…
renovate[bot] Jun 28, 2026
d2050f6
Merge pull request #382 from toxicity188/renovate/net.skinsrestorer-s…
toxicity188 Jun 29, 2026
aef6a9e
Merge pull request #381 from toxicity188/renovate/io.github.toxicity1…
toxicity188 Jun 29, 2026
68bbd4a
Merge pull request #380 from toxicity188/renovate/net.kyori-adventure…
toxicity188 Jun 29, 2026
34aec4c
fix(deps): update dependency net.kyori:adventure-platform-fabric to v…
renovate[bot] Jun 29, 2026
44a0a05
Merge pull request #384 from toxicity188/renovate/net.kyori-adventure…
toxicity188 Jun 29, 2026
4d3018f
fix(deps): update dependency com.nexomc:nexo to v1.25.0
renovate[bot] Jun 29, 2026
daffd0d
chore: update fabric-api to v0.154.0+26.2
toxicity188 Jul 2, 2026
fdf7b7e
Merge pull request #358 from toxicity188/renovate/com.nexomc-nexo-1.x
toxicity188 Jul 2, 2026
1992577
chore: update Skript to v2.15.4 for test server
toxicity188 Jul 6, 2026
038a5ee
fix(deps): update dependency com.gradleup.shadow:com.gradleup.shadow.…
renovate[bot] Jul 6, 2026
4b41bc8
Merge pull request #385 from toxicity188/renovate/shadow
toxicity188 Jul 6, 2026
f14e686
chore: update build script for shadow
toxicity188 Jul 6, 2026
b802d90
chore: update fabric-api to v0.154.1+26.2
toxicity188 Jul 7, 2026
83e67b2
chore: update fabric-api to v0.154.1+26.2
toxicity188 Jul 8, 2026
f8c099b
chore: update polymer-resource-pack to v0.17.2+26.2
toxicity188 Jul 8, 2026
490917e
feat: remove old resource pack generator and overlay
toxicity188 Jul 9, 2026
9bb1267
refactor: unnaming unused parameter
toxicity188 Jul 9, 2026
29a5bcc
update: 3.3.0
toxicity188 Jul 9, 2026
627229f
fix(deps): update dependency net.byteflux:libby-bukkit to v1.3.2
renovate[bot] Jul 9, 2026
c2362a2
Merge pull request #388 from toxicity188/renovate/net.byteflux-libby-…
toxicity188 Jul 10, 2026
f8da59a
refactor: remove unused legacy json builder
toxicity188 Jul 10, 2026
403844e
chore: add CodeGraph .gitignore
toxicity188 Jul 11, 2026
62d40ae
refactor: remove unnecessary pattern
toxicity188 Jul 11, 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
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .codegraph/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# CodeGraph data files — local to each machine, not for committing.
# Ignore everything in .codegraph/ except this file itself, so transient
# files (the database, daemon.pid, sockets, logs) never show up in git.
*
!.gitignore
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Upload the model, resource pack, or test code that can reproduce the issue if po

### 🌍 Environment
- OS: (Windows, Linux, etc.)
- Server software & version: (Paper 1.21.1, etc.)
- Server software & version: (Paper 26.2, etc.)

---

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The following environments are not supported, and feature requests relying on th
- Informal / modified launchers (e.g., Feather Client)
- Closed-source mods/plugins (Optifine, ItemsAdder, Nexo, etc.)
- Hybrid server platforms (e.g., Arclight)
- Legacy server versions (1.20.1 or lower)
- Legacy server versions (1.21.1 or lower)
- Bedrock Edition
- Extremely outdated CPU / hardware
- Features fundamentally **impossible on server-side** due to engine or protocol limitations
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Package plugin

on:
push:
branches: [ "master", "v2" ]
branches: [ "master", "v2", "v3" ]

permissions:
contents: read
Expand All @@ -19,11 +19,11 @@ jobs:
BUILD_NUMBER: ${{ github.run_number }}
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
steps:
- uses: actions/checkout@v6
- name: Set up JDK 21
- uses: actions/checkout@v7
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
Expand Down
13 changes: 5 additions & 8 deletions .github/workflows/pr-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: PR Test

on:
pull_request:
branches: [ "dev", "v2-dev" ]
branches: [ "dev", "v2-dev", "v3-dev" ]

permissions:
contents: read
Expand All @@ -11,19 +11,16 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: Set up JDK 21
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build with Gradle
- name: Test build
run: ./gradlew build --stacktrace

- name: Run Tests
run: ./gradlew test --stacktrace
9 changes: 5 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Publish plugin

on:
push:
branches: [ "master", "v2" ]
branches: [ "master", "v2", "v3" ]

permissions:
contents: read
Expand All @@ -16,12 +16,13 @@ jobs:
MODRINTH_API_TOKEN: ${{ secrets.MODRINTH_API_TOKEN }}
BUILD_NUMBER: ${{ github.run_number }}
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
COMMIT_HASH: ${{ github.sha }}
steps:
- uses: actions/checkout@v6
- name: Set up JDK 21
- uses: actions/checkout@v7
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Scope: entire repository unless a deeper AGENTS.md overrides this file.
## 2) Language and File Placement Rules

### MUST
- Use Modern Java (language level 21) and Kotlin.
- Use Modern Java (language level 25) and Kotlin.
- `api` module is Java-only for production code (Kotlin DSL build scripts are allowed).
- Non-`api` modules should be Kotlin-first unless existing local code is explicitly Java-bound (e.g., mixin/accessor interop).
- Follow existing package root `kr.toxicity.model...` and module-specific suffixes.
Expand Down
26 changes: 12 additions & 14 deletions BANNER.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
<div align="center">

![](https://github.com/user-attachments/assets/89e191ba-ed4f-44ab-bb98-634cfe568dca)
![](https://github.com/user-attachments/assets/ecd13a35-e897-44c2-b12f-8d465f33dab5)

# BetterModel
*- Modern Bedrock model engine for Minecraft Java Edition -*
---

[![](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/modrinth_vector.svg)](https://modrinth.com/plugin/bettermodel)
[![](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/hangar_vector.svg)](https://hangar.papermc.io/toxicity188/BetterModel)
Expand All @@ -20,16 +19,15 @@

# ✨ What is BetterModel?

**BetterModel** is a server-based engine that provides runtime BlockBench model rendering & animating for Minecraft Java Edition.
**BetterModel** is a server-based engine that provides runtime [BlockBench](https://www.blockbench.net/) model rendering & animating for Minecraft Java Edition.

It implements **fully server-side 3D models** by using an item display entity packet.

- Importing Generic BlockBench model `.bbmodel`
- Auto-generating resource pack
- Playing animation
- Syncing with base entity
- Custom hit box
- 12-limb player animation
- Built on the `item-display` packet.
- Implements **essential BlockBench elements**, including `cubes`, `meshes`, `null objects`, and `locators`.
- Support for **model animations**, `Molang` expressions, and **IK** (Inverse Kinematics) rigging.
- Supports **player skin models** and **custom armor**.
- **Automated resource pack generation** with **zero reliance on core shaders**.
- Provides support for **entity syncing**.
- **Extensible API** available for integration.

## 🚀 Comparison with ModelEngine
The main reason I created it is:
Expand Down Expand Up @@ -69,8 +67,8 @@ BetterModel supports **player model with using user's custom skin without textur

## 🏗️ Supported environment

[![](https://img.shields.io/badge/minecraft-1.21%7E1.21.11-8FCA5C?style=for-the-badge)](https://www.minecraft.net/en-us/download/server)
[![](https://img.shields.io/badge/java-21%7E-ED8B00?style=for-the-badge)](https://adoptium.net/)
[![](https://img.shields.io/badge/minecraft-1.21.4%7E26.2.x-8FCA5C?style=for-the-badge)](https://www.minecraft.net/en-us/download/server)
[![](https://img.shields.io/badge/java-25%7E-ED8B00?style=for-the-badge)](https://adoptium.net/)

### Bukkit
[![](https://img.shields.io/badge/folia-supported-blue?style=for-the-badge)](https://papermc.io/downloads/folia)
Expand Down
4 changes: 3 additions & 1 deletion LICENSE_HEADER
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
This source file is part of BetterModel.
Copyright (c) 2024–2026 toxicity188
Copyright (c) ${CREATION_YEAR} toxicity188
Licensed under the MIT License.
See LICENSE.md file for full license text.

#year_selection file
37 changes: 18 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,15 @@

# ✨ Introduction

**BetterModel** is a server-based engine that provides runtime BlockBench model rendering & animating for Minecraft Java Edition.
**BetterModel** is a server-based engine that provides runtime [BlockBench](https://www.blockbench.net/) model rendering & animating for Minecraft Java Edition.

It implements **fully server-side 3D models** by using an item display entity packet.

- Importing Generic BlockBench model `.bbmodel`
- Auto-generating resource pack
- Playing animation
- Syncing with base entity
- Custom hit box
- 12-limb player animation
- Built on the `item-display` packet.
- Implements **essential BlockBench elements**, including `cubes`, `meshes`, `null objects`, and `locators`.
- Support for **model animations**, `Molang` expressions, and **IK** (Inverse Kinematics) rigging.
- Supports **player skin models** and **custom armor**.
- **Automated resource pack generation** with **zero reliance on core shaders**.
- Provides support for **entity syncing**.
- **Extensible API** available for integration.

<details>
<summary>In-Game Screenshots</summary>
Expand All @@ -56,26 +55,26 @@ BetterModel aims to be a reliable engine that provides stable, high-quality anim

## 🛠️ Build info

[![](https://img.shields.io/badge/minecraft-1.21%7E1.21.11-8FCA5C)](https://www.minecraft.net/en-us/download/server)
[![](https://img.shields.io/badge/java-21%7E-ED8B00)](https://adoptium.net/)
[![](https://img.shields.io/badge/minecraft-1.21.4%7E26.2.x-8FCA5C)](https://www.minecraft.net/en-us/download/server)
[![](https://img.shields.io/badge/java-25%7E-ED8B00)](https://adoptium.net/)

#### Build
[![](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/built-with/gradle_vector.svg)](https://gradle.org/)

`./gradlew build`: Builds all jars
`./gradlew shadowJar`: Builds plugin jar
`./gradlew javadocJar`: Builds javadoc jar
`./gradlew javadocJar`: Builds Javadoc jar
`./gradlew runServer`: Runs Paper test server with test plugin

#### Library
- [Kotlin stdlib](https://github.com/JetBrains/kotlin): modern functional programming
- [semver4j](https://github.com/vdurmont/semver4j): semver parser
- [semver4j](https://github.com/semver4j/semver4j): semver parser
- [cloud](https://github.com/Incendo/cloud-minecraft): command
- [adventure](https://github.com/KyoriPowered/adventure): component
- [stable player display](https://github.com/bradleyq/stable_player_display): player animation
- [adventure](https://github.com/PaperMC/adventure): component
- [caffeine](https://github.com/ben-manes/caffeine): concurrent map cache
- [DynamicUV](https://github.com/toxicity188/DynamicUV): player model
- [ArmorModel](https://github.com/toxicity188/ArmorModel): armor in player model
- [java-mesh](https://github.com/toxicity188/java-mesh): mesh rendering
- [molang-compiler](https://github.com/Ocelot5836/molang-compiler): compiling and evaluating molang expression
- [libby](https://github.com/AlessioDP/libby): runtime library downloader

Expand Down Expand Up @@ -110,7 +109,7 @@ repositories {

dependencies {
compileOnly("io.github.toxicity188:bettermodel-bukkit-api:VERSION") // bukkit(spigot, paper, etc) api
//modApi("io.github.toxicity188:bettermodel-fabric:VERSION") // mod(fabric)
//api("io.github.toxicity188:bettermodel-fabric:VERSION") // mod(fabric)
}
```

Expand All @@ -129,7 +128,7 @@ repositories {

dependencies {
compileOnly("io.github.toxicity188:bettermodel-bukkit-api:VERSION-SNAPSHOT") // bukkit(spigot, paper, etc) api
//modApi("io.github.toxicity188:bettermodel-fabric:VERSION-SNAPSHOT") // mod(fabric)
//api("io.github.toxicity188:bettermodel-fabric:VERSION-SNAPSHOT") // mod(fabric)
}
```
</details>
Expand All @@ -147,7 +146,7 @@ repositories {

dependencies {
compileOnly 'io.github.toxicity188:bettermodel-bukkit-api:VERSION' // bukkit(spigot, paper, etc) api
//modApi 'io.github.toxicity188:bettermodel-fabric:VERSION' // mod(fabric)
//api 'io.github.toxicity188:bettermodel-fabric:VERSION' // mod(fabric)
}
```

Expand All @@ -167,7 +166,7 @@ repositories {

dependencies {
compileOnly 'io.github.toxicity188:bettermodel-bukkit-api:VERSION-SNAPSHOT' // bukkit(spigot, paper, etc) api
//modApi 'io.github.toxicity188:bettermodel-fabric:VERSION-SNAPSHOT' // mod(fabric)
//api 'io.github.toxicity188:bettermodel-fabric:VERSION-SNAPSHOT' // mod(fabric)
}
```
</details>
Expand Down
2 changes: 1 addition & 1 deletion api/bukkit-api/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ plugins {
}

dependencies {
api(project(":api"))
api(project(":bettermodel-api"))
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/**
/*
* This source file is part of BetterModel.
* Copyright (c) 2024–2026 toxicity188
* Copyright (c) 2026 toxicity188
* Licensed under the MIT License.
* See LICENSE.md file for full license text.
*/

package kr.toxicity.model.api.bukkit;

import kr.toxicity.model.api.BetterModel;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/**
/*
* This source file is part of BetterModel.
* Copyright (c) 2024–2026 toxicity188
* Copyright (c) 2026 toxicity188
* Licensed under the MIT License.
* See LICENSE.md file for full license text.
*/

package kr.toxicity.model.api.bukkit;

import kr.toxicity.model.api.BetterModelEventBus;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/**
/*
* This source file is part of BetterModel.
* Copyright (c) 2024–2026 toxicity188
* Copyright (c) 2026 toxicity188
* Licensed under the MIT License.
* See LICENSE.md file for full license text.
*/

package kr.toxicity.model.api.bukkit.entity;

import kr.toxicity.model.api.bukkit.platform.BukkitAdapter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/**
/*
* This source file is part of BetterModel.
* Copyright (c) 2024–2026 toxicity188
* Copyright (c) 2026 toxicity188
* Licensed under the MIT License.
* See LICENSE.md file for full license text.
*/

package kr.toxicity.model.api.bukkit.entity;

import kr.toxicity.model.api.bukkit.platform.BukkitPlayer;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/*
* This source file is part of BetterModel.
* Copyright (c) 2024 toxicity188
* Licensed under the MIT License.
* See LICENSE.md file for full license text.
*/

/**
* Contains Bukkit-backed entity wrappers for BetterModel.
* <p>
* The wrappers in this package adapt Bukkit entities and players to the
* platform-neutral entity contracts from the base API module. They let model
* trackers, renderers, and managers work with Bukkit runtime objects through the
* shared {@code BaseEntity} and {@code BasePlayer} abstractions.
* </p>
*
* <p>Example:</p>
* <pre>{@code
* BaseBukkitEntity entity = ...;
* var bukkitEntity = entity.entity();
* }</pre>
*
* @since 3.2.0
*/
package kr.toxicity.model.api.bukkit.entity;
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/**
/*
* This source file is part of BetterModel.
* Copyright (c) 2024–2026 toxicity188
* Copyright (c) 2026 toxicity188
* Licensed under the MIT License.
* See LICENSE.md file for full license text.
*/

package kr.toxicity.model.api.bukkit.event;

import kr.toxicity.model.api.event.ModelEvent;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/**
/*
* This source file is part of BetterModel.
* Copyright (c) 2024–2026 toxicity188
* Copyright (c) 2026 toxicity188
* Licensed under the MIT License.
* See LICENSE.md file for full license text.
*/

package kr.toxicity.model.api.bukkit.event;

import kr.toxicity.model.api.event.ModelEventApplication;
Expand Down
Loading