55import doggytalents .common .entity .Dog ;
66
77import java .util .Optional ;
8+ import java .util .function .BiFunction ;
89import java .util .function .Consumer ;
910import 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