ForgePatch/patches_old/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java.patch

55 lines
3.0 KiB
Diff

--- ../src-base/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/BlockModelRenderer.java
@@ -40,7 +40,7 @@
public boolean func_187493_a(IBlockAccess p_187493_1_, IBakedModel p_187493_2_, IBlockState p_187493_3_, BlockPos p_187493_4_, BufferBuilder p_187493_5_, boolean p_187493_6_, long p_187493_7_)
{
- boolean flag = Minecraft.func_71379_u() && p_187493_3_.func_185906_d() == 0 && p_187493_2_.func_177555_b();
+ boolean flag = Minecraft.func_71379_u() && p_187493_3_.getLightValue(p_187493_1_, p_187493_4_) == 0 && p_187493_2_.isAmbientOcclusion(p_187493_3_);
try
{
@@ -128,7 +128,14 @@
p_187492_8_.func_187491_a(p_187492_1_, p_187492_2_, p_187492_3_, bakedquad.func_178210_d(), p_187492_6_, p_187492_7_);
p_187492_4_.func_178981_a(bakedquad.func_178209_a());
p_187492_4_.func_178962_a(p_187492_8_.field_178207_c[0], p_187492_8_.field_178207_c[1], p_187492_8_.field_178207_c[2], p_187492_8_.field_178207_c[3]);
-
+ if(bakedquad.shouldApplyDiffuseLighting())
+ {
+ float diffuse = net.minecraftforge.client.model.pipeline.LightUtil.diffuseLight(bakedquad.func_178210_d());
+ p_187492_8_.field_178206_b[0] *= diffuse;
+ p_187492_8_.field_178206_b[1] *= diffuse;
+ p_187492_8_.field_178206_b[2] *= diffuse;
+ p_187492_8_.field_178206_b[3] *= diffuse;
+ }
if (bakedquad.func_178212_b())
{
int k = this.field_187499_a.func_186724_a(p_187492_2_, p_187492_1_, p_187492_3_, bakedquad.func_178211_c());
@@ -262,11 +269,26 @@
float f = (float)(k >> 16 & 255) / 255.0F;
float f1 = (float)(k >> 8 & 255) / 255.0F;
float f2 = (float)(k & 255) / 255.0F;
+ if(bakedquad.shouldApplyDiffuseLighting())
+ {
+ float diffuse = net.minecraftforge.client.model.pipeline.LightUtil.diffuseLight(bakedquad.func_178210_d());
+ f *= diffuse;
+ f1 *= diffuse;
+ f2 *= diffuse;
+ }
p_187496_6_.func_178978_a(f, f1, f2, 4);
p_187496_6_.func_178978_a(f, f1, f2, 3);
p_187496_6_.func_178978_a(f, f1, f2, 2);
p_187496_6_.func_178978_a(f, f1, f2, 1);
}
+ else if(bakedquad.shouldApplyDiffuseLighting())
+ {
+ float diffuse = net.minecraftforge.client.model.pipeline.LightUtil.diffuseLight(bakedquad.func_178210_d());
+ p_187496_6_.func_178978_a(diffuse, diffuse, diffuse, 4);
+ p_187496_6_.func_178978_a(diffuse, diffuse, diffuse, 3);
+ p_187496_6_.func_178978_a(diffuse, diffuse, diffuse, 2);
+ p_187496_6_.func_178978_a(diffuse, diffuse, diffuse, 1);
+ }
p_187496_6_.func_178987_a(d0, d1, d2);
}