version 0.1.7.1

This commit is contained in:
LostInLinearPast 2025-12-24 02:35:35 +08:00
parent 2745b4fb42
commit 5a6877e2db
2 changed files with 4 additions and 4 deletions

View File

@ -12,7 +12,7 @@ mapping_version=2023.09.03-1.20.1
mod_id=sccore mod_id=sccore
mod_name=SnowyCrescentCore mod_name=SnowyCrescentCore
mod_license=GNU AGPL 3.0 mod_license=GNU AGPL 3.0
mod_version=1.20.1-0.1.7 mod_version=1.20.1-0.1.7.1
mod_group_id=com.linearpast mod_group_id=com.linearpast
mod_authors=LostInLinearPast mod_authors=LostInLinearPast
mod_description=A lib about capability and player animator. mod_description=A lib about capability and player animator.

View File

@ -232,10 +232,10 @@ public class AnimationRegistry {
AnimationStack oldAnimationStack = (AnimationStack) animationStackField.get(player); AnimationStack oldAnimationStack = (AnimationStack) animationStackField.get(player);
Field layersField = AnimationStack.class.getDeclaredField("layers"); Field layersField = AnimationStack.class.getDeclaredField("layers");
layersField.setAccessible(true); layersField.setAccessible(true);
ArrayList<Pair<Integer, IAnimation>> oldArrayList = (ArrayList<Pair<Integer, IAnimation>>) layersField.get(oldAnimationStack); ArrayList<Pair<Integer, IAnimation>> oldArrayList = new ArrayList<>((ArrayList<Pair<Integer, IAnimation>>) layersField.get(oldAnimationStack));
ArrayList<Pair<Integer, IAnimation>> newArrayList = (ArrayList<Pair<Integer, IAnimation>>) layersField.get(newAnimationStack); ArrayList<Pair<Integer, IAnimation>> newArrayList = new ArrayList<>((ArrayList<Pair<Integer, IAnimation>>) layersField.get(newAnimationStack));
ArrayList<Pair<Integer, IAnimation>> result = new ArrayList<>(); ArrayList<Pair<Integer, IAnimation>> result = new ArrayList<>();
for (Pair<Integer, IAnimation> oldAnimationPair : oldArrayList) { for (Pair<Integer, IAnimation> oldAnimationPair : List.copyOf(oldArrayList)) {
for (Pair<Integer, IAnimation> newAnimationPair : List.copyOf(newArrayList)) { for (Pair<Integer, IAnimation> newAnimationPair : List.copyOf(newArrayList)) {
if(Objects.equals(oldAnimationPair.getLeft(), newAnimationPair.getLeft())) { if(Objects.equals(oldAnimationPair.getLeft(), newAnimationPair.getLeft())) {
KeyframeAnimation oldData = Optional.ofNullable((KeyframeAnimationPlayer) ((ModifierLayer<?>) oldAnimationPair.getRight()).getAnimation()) KeyframeAnimation oldData = Optional.ofNullable((KeyframeAnimationPlayer) ((ModifierLayer<?>) oldAnimationPair.getRight()).getAnimation())