Skip to content

Commit 6f0de5f

Browse files
committed
Add callback to adjust animated offset for a certain target
1 parent fea5291 commit 6f0de5f

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

src/main/java/doggytalents/client/entity/model/animation/DogKeyframeAnimations.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import doggytalents.common.entity.Dog;
66

77
import java.util.Optional;
8+
import java.util.function.BiFunction;
89
import java.util.function.Consumer;
910
import java.util.function.Function;
1011

@@ -95,6 +96,42 @@ public void resetPart(ModelPart part) {
9596
partReset.accept(part);
9697
}
9798

99+
@Override
100+
public Vector3f adjustAnimationValue(ModelPart target, Vector3f current) {
101+
return current;
102+
}
103+
104+
@Override
105+
public void adjustAnimatedPart(ModelPart part) {
106+
partAdjust.accept(part);
107+
}
108+
109+
};
110+
}
111+
112+
public static AnimationContext of(
113+
Function<String, Optional<ModelPart>> partGetter,
114+
Consumer<ModelPart> partReset,
115+
BiFunction<ModelPart, Vector3f, Vector3f> animValueAdjust,
116+
Consumer<ModelPart> partAdjust
117+
) {
118+
return new AnimationContext() {
119+
120+
@Override
121+
public Optional<ModelPart> getPart(String name) {
122+
return partGetter.apply(name);
123+
}
124+
125+
@Override
126+
public void resetPart(ModelPart part) {
127+
partReset.accept(part);
128+
}
129+
130+
@Override
131+
public Vector3f adjustAnimationValue(ModelPart target, Vector3f current) {
132+
return animValueAdjust.apply(target, current);
133+
}
134+
98135
@Override
99136
public void adjustAnimatedPart(ModelPart part) {
100137
partAdjust.accept(part);
@@ -105,6 +142,7 @@ public void adjustAnimatedPart(ModelPart part) {
105142

106143
public Optional<ModelPart> getPart(String name);
107144
public void resetPart(ModelPart part);
145+
public Vector3f adjustAnimationValue(ModelPart target, Vector3f current);
108146
public void adjustAnimatedPart(ModelPart part);
109147

110148
}

0 commit comments

Comments
 (0)