Fix items in ground being too small, we were applying perspectives twice.
Restore forge patch and fix a tiny mistake in it.
This commit is contained in:
parent
eaac0c17a4
commit
599a754b60
4 changed files with 14 additions and 45 deletions
|
@ -23,7 +23,7 @@
|
||||||
p_225623_4_.func_227861_a_((double)f7, (double)f8, (double)f9);
|
p_225623_4_.func_227861_a_((double)f7, (double)f8, (double)f9);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,18 +72,19 @@
|
@@ -75,18 +72,18 @@
|
||||||
float f11 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F;
|
float f11 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F;
|
||||||
float f13 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F;
|
float f13 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F;
|
||||||
float f10 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F;
|
float f10 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F;
|
||||||
|
@ -37,9 +37,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- this.field_177080_a.func_229111_a_(itemstack, ItemCameraTransforms.TransformType.GROUND, false, p_225623_4_, p_225623_5_, p_225623_6_, OverlayTexture.field_229196_a_, ibakedmodel);
|
this.field_177080_a.func_229111_a_(itemstack, ItemCameraTransforms.TransformType.GROUND, false, p_225623_4_, p_225623_5_, p_225623_6_, OverlayTexture.field_229196_a_, ibakedmodel);
|
||||||
+ IBakedModel transformedModel = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(p_225623_4_, ibakedmodel, ItemCameraTransforms.TransformType.GROUND, false);
|
|
||||||
+ this.field_177080_a.func_229111_a_(itemstack, ItemCameraTransforms.TransformType.GROUND, false, p_225623_4_, p_225623_5_, p_225623_6_, OverlayTexture.field_229196_a_, transformedModel);
|
|
||||||
p_225623_4_.func_227865_b_();
|
p_225623_4_.func_227865_b_();
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
- p_225623_4_.func_227861_a_((double)(0.0F * f4), (double)(0.0F * f5), (double)(0.09375F * f6));
|
- p_225623_4_.func_227861_a_((double)(0.0F * f4), (double)(0.0F * f5), (double)(0.09375F * f6));
|
||||||
|
@ -47,7 +45,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -97,4 +95,21 @@
|
@@ -97,4 +94,21 @@
|
||||||
public ResourceLocation func_110775_a(ItemEntity p_110775_1_) {
|
public ResourceLocation func_110775_a(ItemEntity p_110775_1_) {
|
||||||
return AtlasTexture.field_110575_b;
|
return AtlasTexture.field_110575_b;
|
||||||
}
|
}
|
||||||
|
|
|
@ -811,11 +811,9 @@ public class ForgeHooksClient
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public static IBakedModel handlePerspective(IBakedModel model, ItemCameraTransforms.TransformType type, MatrixStack stack)
|
public static IBakedModel handlePerspective(IBakedModel model, ItemCameraTransforms.TransformType type, MatrixStack stack)
|
||||||
{
|
{
|
||||||
if (!model.getItemCameraTransforms().getTransform(type).equals(ItemTransformVec3f.DEFAULT))
|
TransformationMatrix tr = TransformationHelper.toTransformation(model.getItemCameraTransforms().getTransform(type));
|
||||||
{
|
if(!tr.isIdentity()) {
|
||||||
// Push to the matrix to make it not empty and indicate that we want to transform things
|
tr.push(stack);
|
||||||
stack.func_227860_a_();
|
|
||||||
model.getItemCameraTransforms().getTransform(type).func_228830_a_(false, stack);
|
|
||||||
}
|
}
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,12 +42,17 @@ public interface IForgeTransformationMatrix
|
||||||
default void push(MatrixStack stack)
|
default void push(MatrixStack stack)
|
||||||
{
|
{
|
||||||
stack.func_227860_a_();
|
stack.func_227860_a_();
|
||||||
stack.func_227863_a_(getTransformaion().func_227989_d_());
|
|
||||||
Vector3f trans = getTransformaion().getTranslation();
|
Vector3f trans = getTransformaion().getTranslation();
|
||||||
stack.func_227861_a_(trans.getX(), trans.getY(), trans.getZ());
|
stack.func_227861_a_(trans.getX(), trans.getY(), trans.getZ());
|
||||||
stack.func_227863_a_(getTransformaion().getRightRot());
|
|
||||||
|
stack.func_227863_a_(getTransformaion().func_227989_d_());
|
||||||
|
|
||||||
Vector3f scale = getTransformaion().getScale();
|
Vector3f scale = getTransformaion().getScale();
|
||||||
stack.func_227861_a_(scale.getX(), scale.getY(), scale.getZ());
|
stack.func_227862_a_(scale.getX(), scale.getY(), scale.getZ());
|
||||||
|
|
||||||
|
stack.func_227863_a_(getTransformaion().getRightRot());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
default TransformationMatrix compose(TransformationMatrix other)
|
default TransformationMatrix compose(TransformationMatrix other)
|
||||||
|
|
|
@ -112,38 +112,6 @@ public final class TransformationHelper
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final EnumMap<Direction, TransformationMatrix> vanillaUvTransformLocalToGlobal = Maps.newEnumMap(Direction.class);
|
|
||||||
private static final EnumMap<Direction, TransformationMatrix> vanillaUvTransformGlobalToLocal = Maps.newEnumMap(Direction.class);
|
|
||||||
|
|
||||||
static
|
|
||||||
{
|
|
||||||
vanillaUvTransformLocalToGlobal.put(Direction.SOUTH, TransformationMatrix.func_227983_a_());
|
|
||||||
vanillaUvTransformLocalToGlobal.put(Direction.EAST, new TransformationMatrix(null,
|
|
||||||
new Quaternion(Vector3f.field_229181_d_, 90,true), null, null));
|
|
||||||
vanillaUvTransformLocalToGlobal.put(Direction.WEST, new TransformationMatrix(null,
|
|
||||||
new Quaternion(Vector3f.field_229181_d_, -90,true), null, null));
|
|
||||||
vanillaUvTransformLocalToGlobal.put(Direction.NORTH, new TransformationMatrix(null,
|
|
||||||
new Quaternion(Vector3f.field_229181_d_, 180,true), null, null));
|
|
||||||
vanillaUvTransformLocalToGlobal.put(Direction.UP, new TransformationMatrix(null,
|
|
||||||
new Quaternion(Vector3f.field_229179_b_, -90,true), null, null));
|
|
||||||
vanillaUvTransformLocalToGlobal.put(Direction.DOWN, new TransformationMatrix(null,
|
|
||||||
new Quaternion(Vector3f.field_229179_b_, 90,true), null, null));
|
|
||||||
|
|
||||||
for(Direction side : Direction.values())
|
|
||||||
{
|
|
||||||
vanillaUvTransformGlobalToLocal.put(side, vanillaUvTransformLocalToGlobal.get(side).inverse());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static TransformationMatrix getUVLockTransform(TransformationMatrix matrix, Direction originalSide)
|
|
||||||
{
|
|
||||||
Direction newSide = matrix.rotateTransform(originalSide);
|
|
||||||
return vanillaUvTransformGlobalToLocal.get(originalSide)
|
|
||||||
.compose(matrix.inverse().blockCornerToCenter())
|
|
||||||
.compose(vanillaUvTransformLocalToGlobal.get(newSide))
|
|
||||||
.blockCenterToCorner();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean epsilonEquals(Vector4f v1, Vector4f v2, float epsilon)
|
public static boolean epsilonEquals(Vector4f v1, Vector4f v2, float epsilon)
|
||||||
{
|
{
|
||||||
return MathHelper.abs(v1.getX()-v2.getX()) < epsilon &&
|
return MathHelper.abs(v1.getX()-v2.getX()) < epsilon &&
|
||||||
|
|
Loading…
Reference in a new issue