106 lines
6.8 KiB
Diff
106 lines
6.8 KiB
Diff
--- ../src-base/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java
|
|
+++ ../src-work/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java
|
|
@@ -49,14 +49,19 @@
|
|
|
|
public BakedQuad func_178414_a(Vector3f p_178414_1_, Vector3f p_178414_2_, BlockPartFace p_178414_3_, TextureAtlasSprite p_178414_4_, EnumFacing p_178414_5_, ModelRotation p_178414_6_, @Nullable BlockPartRotation p_178414_7_, boolean p_178414_8_, boolean p_178414_9_)
|
|
{
|
|
+ return makeBakedQuad(p_178414_1_, p_178414_2_, p_178414_3_, p_178414_4_, p_178414_5_, (net.minecraftforge.common.model.ITransformation)p_178414_6_, p_178414_7_, p_178414_8_, p_178414_9_);
|
|
+ }
|
|
+
|
|
+ public BakedQuad makeBakedQuad(Vector3f p_178414_1_, Vector3f p_178414_2_, BlockPartFace p_178414_3_, TextureAtlasSprite p_178414_4_, EnumFacing p_178414_5_, net.minecraftforge.common.model.ITransformation p_178414_6_, BlockPartRotation p_178414_7_, boolean p_178414_8_, boolean p_178414_9_)
|
|
+ {
|
|
BlockFaceUV blockfaceuv = p_178414_3_.field_178243_e;
|
|
|
|
if (p_178414_8_)
|
|
{
|
|
- blockfaceuv = this.func_188010_a(p_178414_3_.field_178243_e, p_178414_5_, p_178414_6_);
|
|
+ blockfaceuv = net.minecraftforge.client.ForgeHooksClient.applyUVLock(p_178414_3_.field_178243_e, p_178414_5_, p_178414_6_);
|
|
}
|
|
|
|
- int[] aint = this.func_188012_a(blockfaceuv, p_178414_4_, p_178414_5_, this.func_178403_a(p_178414_1_, p_178414_2_), p_178414_6_, p_178414_7_, p_178414_9_);
|
|
+ int[] aint = this.makeQuadVertexData(blockfaceuv, p_178414_4_, p_178414_5_, this.func_178403_a(p_178414_1_, p_178414_2_), p_178414_6_, p_178414_7_, false);
|
|
EnumFacing enumfacing = func_178410_a(aint);
|
|
|
|
if (p_178414_7_ == null)
|
|
@@ -64,7 +69,8 @@
|
|
this.func_178408_a(aint, enumfacing);
|
|
}
|
|
|
|
- return new BakedQuad(aint, p_178414_3_.field_178245_c, enumfacing, p_178414_4_);
|
|
+ net.minecraftforge.client.ForgeHooksClient.fillNormal(aint, enumfacing);
|
|
+ return new BakedQuad(aint, p_178414_3_.field_178245_c, enumfacing, p_178414_4_, p_178414_9_, net.minecraft.client.renderer.vertex.DefaultVertexFormats.field_176599_b);
|
|
}
|
|
|
|
private BlockFaceUV func_188010_a(BlockFaceUV p_188010_1_, EnumFacing p_188010_2_, ModelRotation p_188010_3_)
|
|
@@ -74,11 +80,16 @@
|
|
|
|
private int[] func_188012_a(BlockFaceUV p_188012_1_, TextureAtlasSprite p_188012_2_, EnumFacing p_188012_3_, float[] p_188012_4_, ModelRotation p_188012_5_, @Nullable BlockPartRotation p_188012_6_, boolean p_188012_7_)
|
|
{
|
|
+ return makeQuadVertexData(p_188012_1_, p_188012_2_, p_188012_3_, p_188012_4_, (net.minecraftforge.common.model.ITransformation)p_188012_5_, p_188012_6_, p_188012_7_);
|
|
+ }
|
|
+
|
|
+ private int[] makeQuadVertexData(BlockFaceUV uvs, TextureAtlasSprite sprite, EnumFacing orientation, float[] p_188012_4_, net.minecraftforge.common.model.ITransformation rotationIn, BlockPartRotation partRotation, boolean shade)
|
|
+ {
|
|
int[] aint = new int[28];
|
|
|
|
for (int i = 0; i < 4; ++i)
|
|
{
|
|
- this.func_188015_a(aint, i, p_188012_3_, p_188012_1_, p_188012_4_, p_188012_2_, p_188012_5_, p_188012_6_, p_188012_7_);
|
|
+ this.fillVertexData(aint, i, orientation, uvs, p_188012_4_, sprite, rotationIn, partRotation, shade);
|
|
}
|
|
|
|
return aint;
|
|
@@ -124,12 +135,17 @@
|
|
|
|
private void func_188015_a(int[] p_188015_1_, int p_188015_2_, EnumFacing p_188015_3_, BlockFaceUV p_188015_4_, float[] p_188015_5_, TextureAtlasSprite p_188015_6_, ModelRotation p_188015_7_, @Nullable BlockPartRotation p_188015_8_, boolean p_188015_9_)
|
|
{
|
|
- EnumFacing enumfacing = p_188015_7_.func_177523_a(p_188015_3_);
|
|
+ fillVertexData(p_188015_1_, p_188015_2_, p_188015_3_, p_188015_4_, p_188015_5_, p_188015_6_, (net.minecraftforge.common.model.ITransformation)p_188015_7_, p_188015_8_, p_188015_9_);
|
|
+ }
|
|
+
|
|
+ private void fillVertexData(int[] p_188015_1_, int p_188015_2_, EnumFacing p_188015_3_, BlockFaceUV p_188015_4_, float[] p_188015_5_, TextureAtlasSprite p_188015_6_, net.minecraftforge.common.model.ITransformation p_188015_7_, BlockPartRotation p_188015_8_, boolean p_188015_9_)
|
|
+ {
|
|
+ EnumFacing enumfacing = p_188015_7_.rotate(p_188015_3_);
|
|
int i = p_188015_9_ ? this.func_178413_a(enumfacing) : -1;
|
|
EnumFaceDirection.VertexInformation enumfacedirection$vertexinformation = EnumFaceDirection.func_179027_a(p_188015_3_).func_179025_a(p_188015_2_);
|
|
Vector3f vector3f = new Vector3f(p_188015_5_[enumfacedirection$vertexinformation.field_179184_a], p_188015_5_[enumfacedirection$vertexinformation.field_179182_b], p_188015_5_[enumfacedirection$vertexinformation.field_179183_c]);
|
|
this.func_178407_a(vector3f, p_188015_8_);
|
|
- int j = this.func_188011_a(vector3f, p_188015_3_, p_188015_2_, p_188015_7_);
|
|
+ int j = this.rotateVertex(vector3f, p_188015_3_, p_188015_2_, p_188015_7_);
|
|
this.func_178404_a(p_188015_1_, j, p_188015_2_, vector3f, i, p_188015_6_, p_188015_4_);
|
|
}
|
|
|
|
@@ -140,8 +156,8 @@
|
|
p_178404_1_[i + 1] = Float.floatToRawIntBits(p_178404_4_.y);
|
|
p_178404_1_[i + 2] = Float.floatToRawIntBits(p_178404_4_.z);
|
|
p_178404_1_[i + 3] = p_178404_5_;
|
|
- p_178404_1_[i + 4] = Float.floatToRawIntBits(p_178404_6_.func_94214_a((double)p_178404_7_.func_178348_a(p_178404_3_)));
|
|
- p_178404_1_[i + 4 + 1] = Float.floatToRawIntBits(p_178404_6_.func_94207_b((double)p_178404_7_.func_178346_b(p_178404_3_)));
|
|
+ p_178404_1_[i + 4] = Float.floatToRawIntBits(p_178404_6_.func_94214_a((double)p_178404_7_.func_178348_a(p_178404_3_) * .999 + p_178404_7_.func_178348_a((p_178404_3_ + 2) % 4) * .001));
|
|
+ p_178404_1_[i + 4 + 1] = Float.floatToRawIntBits(p_178404_6_.func_94207_b((double)p_178404_7_.func_178346_b(p_178404_3_) * .999 + p_178404_7_.func_178346_b((p_178404_3_ + 2) % 4) * .001));
|
|
}
|
|
|
|
private void func_178407_a(Vector3f p_178407_1_, @Nullable BlockPartRotation p_178407_2_)
|
|
@@ -190,14 +206,19 @@
|
|
|
|
public int func_188011_a(Vector3f p_188011_1_, EnumFacing p_188011_2_, int p_188011_3_, ModelRotation p_188011_4_)
|
|
{
|
|
+ return rotateVertex(p_188011_1_, p_188011_2_, p_188011_3_, (net.minecraftforge.common.model.ITransformation)p_188011_4_);
|
|
+ }
|
|
+
|
|
+ public int rotateVertex(Vector3f p_188011_1_, EnumFacing p_188011_2_, int p_188011_3_, net.minecraftforge.common.model.ITransformation p_188011_4_)
|
|
+ {
|
|
if (p_188011_4_ == ModelRotation.X0_Y0)
|
|
{
|
|
return p_188011_3_;
|
|
}
|
|
else
|
|
{
|
|
- this.func_178406_a(p_188011_1_, new Vector3f(0.5F, 0.5F, 0.5F), p_188011_4_.func_177525_a(), new Vector3f(1.0F, 1.0F, 1.0F));
|
|
- return p_188011_4_.func_177520_a(p_188011_2_, p_188011_3_);
|
|
+ net.minecraftforge.client.ForgeHooksClient.transform(p_188011_1_, p_188011_4_.getMatrix());
|
|
+ return p_188011_4_.rotate(p_188011_2_, p_188011_3_);
|
|
}
|
|
}
|
|
|