private void applyFacing(int[] p_178408_1_, EnumFacing p_178408_2_)
{
int[] aint = new int[p_178408_1_.length];
System.arraycopy(p_178408_1_, 0, aint, 0, p_178408_1_.length);
float[] afloat = new float[EnumFacing.values().length];
afloat[EnumFaceDirection.Constants.WEST_INDEX] = 999.0F;
afloat[EnumFaceDirection.Constants.DOWN_INDEX] = 999.0F;
afloat[EnumFaceDirection.Constants.NORTH_INDEX] = 999.0F;
afloat[EnumFaceDirection.Constants.EAST_INDEX] = -999.0F;
afloat[EnumFaceDirection.Constants.UP_INDEX] = -999.0F;
afloat[EnumFaceDirection.Constants.SOUTH_INDEX] = -999.0F;
int i = p_178408_1_.length / 4;
for (int j = 0; j < 4; ++j)
{
int k = i * j;
float f = Float.intBitsToFloat(aint[k]);
float f1 = Float.intBitsToFloat(aint[k + 1]);
float f2 = Float.intBitsToFloat(aint[k + 2]);
if (f < afloat[EnumFaceDirection.Constants.WEST_INDEX])
{
afloat[EnumFaceDirection.Constants.WEST_INDEX] = f;
}
if (f1 < afloat[EnumFaceDirection.Constants.DOWN_INDEX])
{
afloat[EnumFaceDirection.Constants.DOWN_INDEX] = f1;
}
if (f2 < afloat[EnumFaceDirection.Constants.NORTH_INDEX])
{
afloat[EnumFaceDirection.Constants.NORTH_INDEX] = f2;
}
if (f > afloat[EnumFaceDirection.Constants.EAST_INDEX])
{
afloat[EnumFaceDirection.Constants.EAST_INDEX] = f;
}
if (f1 > afloat[EnumFaceDirection.Constants.UP_INDEX])
{
afloat[EnumFaceDirection.Constants.UP_INDEX] = f1;
}
if (f2 > afloat[EnumFaceDirection.Constants.SOUTH_INDEX])
{
afloat[EnumFaceDirection.Constants.SOUTH_INDEX] = f2;
}
}
EnumFaceDirection enumfacedirection = EnumFaceDirection.getFacing(p_178408_2_);
for (int j1 = 0; j1 < 4; ++j1)
{
int k1 = i * j1;
EnumFaceDirection.VertexInformation enumfacedirection$vertexinformation = enumfacedirection.getVertexInformation(j1);
float f8 = afloat[enumfacedirection$vertexinformation.xIndex];
float f3 = afloat[enumfacedirection$vertexinformation.yIndex];
float f4 = afloat[enumfacedirection$vertexinformation.zIndex];
p_178408_1_[k1] = Float.floatToRawIntBits(f8);
p_178408_1_[k1 + 1] = Float.floatToRawIntBits(f3);
p_178408_1_[k1 + 2] = Float.floatToRawIntBits(f4);
for (int l = 0; l < 4; ++l)
{
int i1 = i * l;
float f5 = Float.intBitsToFloat(aint[i1]);
float f6 = Float.intBitsToFloat(aint[i1 + 1]);
float f7 = Float.intBitsToFloat(aint[i1 + 2]);
if (MathHelper.epsilonEquals(f8, f5) && MathHelper.epsilonEquals(f3, f6) && MathHelper.epsilonEquals(f4, f7))
{
p_178408_1_[k1 + 4] = aint[i1 + 4];
p_178408_1_[k1 + 4 + 1] = aint[i1 + 4 + 1];
}
}
}
}
FaceBakery.java 文件源码
java
阅读 15
收藏 0
点赞 0
评论 0
项目:Backmemed
作者:
评论列表
文章目录