Add potential support for models defining 'vanilla like' rotations in Forge's Modified Blockstate format.
This commit is contained in:
parent
f492e25bc9
commit
b654b84393
2 changed files with 8 additions and 27 deletions
|
@ -387,29 +387,6 @@ public class ForgeHooksClient
|
||||||
modelLoader.onPostBakeEvent(modelRegistry);
|
modelLoader.onPostBakeEvent(modelRegistry);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public static Matrix4f getMatrix(ItemTransformVec3f transform)
|
|
||||||
{
|
|
||||||
javax.vecmath.Matrix4f m = new javax.vecmath.Matrix4f(), t = new javax.vecmath.Matrix4f();
|
|
||||||
m.setIdentity();
|
|
||||||
m.setTranslation(TRSRTransformation.toVecmath(transform.translation));
|
|
||||||
t.setIdentity();
|
|
||||||
t.rotY(transform.rotation.y);
|
|
||||||
m.mul(t);
|
|
||||||
t.setIdentity();
|
|
||||||
t.rotX(transform.rotation.x);
|
|
||||||
m.mul(t);
|
|
||||||
t.setIdentity();
|
|
||||||
t.rotZ(transform.rotation.z);
|
|
||||||
m.mul(t);
|
|
||||||
t.setIdentity();
|
|
||||||
t.m00 = transform.scale.x;
|
|
||||||
t.m11 = transform.scale.y;
|
|
||||||
t.m22 = transform.scale.z;
|
|
||||||
m.mul(t);
|
|
||||||
return m;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final Matrix4f flipX;
|
private static final Matrix4f flipX;
|
||||||
static {
|
static {
|
||||||
flipX = new Matrix4f();
|
flipX = new Matrix4f();
|
||||||
|
|
|
@ -945,11 +945,15 @@ public class ForgeBlockStateV1 extends Marker
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
else
|
else if (e.isJsonArray())
|
||||||
{
|
{
|
||||||
// quaternion
|
JsonArray array = e.getAsJsonArray();
|
||||||
|
if (array.size() == 3) //Vanilla rotation
|
||||||
|
return TRSRTransformation.quatFromXYZDegrees(new Vector3f(parseFloatArray(e, 3, "Rotation")));
|
||||||
|
else // quaternion
|
||||||
return new Quat4f(parseFloatArray(e, 4, "Rotation"));
|
return new Quat4f(parseFloatArray(e, 4, "Rotation"));
|
||||||
}
|
}
|
||||||
|
else throw new JsonParseException("Rotation: expected array or object, got: " + e);
|
||||||
}
|
}
|
||||||
else if (e.isJsonObject())
|
else if (e.isJsonObject())
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue