From cfce1a4a6c610abf1601ed97abffbedabeea6461 Mon Sep 17 00:00:00 2001
From: Nicholas Ignoffo <speedynutty68@gmail.com>
Date: Wed, 11 May 2016 17:40:41 -0700
Subject: [PATCH] Fix spectral blocks being opaque (#716)

Now you can see through the missing fluids

Also reduced the opacity slightly.
---
 .../bloodmagic/block/BlockSpectral.java       |  23 ++++++++++++++++++
 .../textures/blocks/SpectralBlock.png         | Bin 767 -> 15123 bytes
 2 files changed, 23 insertions(+)

diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockSpectral.java b/src/main/java/WayofTime/bloodmagic/block/BlockSpectral.java
index 3baf5543..ef3a932d 100644
--- a/src/main/java/WayofTime/bloodmagic/block/BlockSpectral.java
+++ b/src/main/java/WayofTime/bloodmagic/block/BlockSpectral.java
@@ -9,12 +9,16 @@ import net.minecraft.block.material.Material;
 import net.minecraft.block.state.IBlockState;
 import net.minecraft.entity.Entity;
 import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.BlockRenderLayer;
 import net.minecraft.util.EnumBlockRenderType;
+import net.minecraft.util.EnumFacing;
 import net.minecraft.util.math.AxisAlignedBB;
 import net.minecraft.util.math.BlockPos;
 import net.minecraft.world.IBlockAccess;
 import net.minecraft.world.World;
 
+import net.minecraftforge.fml.relauncher.Side;
+import net.minecraftforge.fml.relauncher.SideOnly;
 import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.commons.lang3.tuple.Pair;
 
@@ -45,6 +49,12 @@ public class BlockSpectral extends BlockContainer implements IVariantProvider
         return false;
     }
 
+    @Override
+    public boolean isOpaqueCube(IBlockState state)
+    {
+        return false;
+    }
+
     @Override
     public boolean isFullCube(IBlockState state)
     {
@@ -57,12 +67,25 @@ public class BlockSpectral extends BlockContainer implements IVariantProvider
         return false;
     }
 
+    @SideOnly(Side.CLIENT)
+    @Override
+    public BlockRenderLayer getBlockLayer()
+    {
+        return BlockRenderLayer.TRANSLUCENT;
+    }
+
     @Override
     public EnumBlockRenderType getRenderType(IBlockState state)
     {
         return EnumBlockRenderType.MODEL;
     }
 
+    @Override
+    @SideOnly(Side.CLIENT)
+    public boolean shouldSideBeRendered(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) {
+        return world.getBlockState(pos.offset(side)) != state || state.getBlock() != this && super.shouldSideBeRendered(state, world, pos, side);
+    }
+
     @Override
     public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB mask, List<AxisAlignedBB> list, Entity collidingEntity)
     {
diff --git a/src/main/resources/assets/bloodmagic/textures/blocks/SpectralBlock.png b/src/main/resources/assets/bloodmagic/textures/blocks/SpectralBlock.png
index fa7709b09539d862e06dc3aa280634d86f420600..996fc22a8a78d6722e0fb990e9486e5e41a3448e 100644
GIT binary patch
literal 15123
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
TT)#A5Tdl6B<%ho8`r!Wn@CC!D

delta 724
zcmV;_0xSKKcK-#CBp(E4K}|sb0I`n?{9y$E000JJOGiWi{{a60|De66laV18e*gz`
zNliru-wYfO6D+@yk9`0D0(?nCK~y-)J(1gP<3<of`!*MnqMfy|*ahN0%40q*zZfKn
zrL`%EGt-wmER%j~bfHjv3g6z|{>V9RDW#rse&n3@%jNQInx>C!+rE}kHdW24IxWj`
zetmuYtF>0I*Xs*2g8%@HF=j-xf7aS-t@Y!6zkfHg+Iyc>bvkZe5K%>>_1>3l+kTzr
z`AqXXp8+5uBK6*v-g_Nm)QBJe2s5h@fxY+Vec!*_@AqGbNX@LCPNy@q))se{hzMp@
zRb?|PW|qw?yL$ov7m+&vpsG%Xxr>OBs?HI?06^}}L<DA5RCOYvK}7d?f1WSQe9Jk1
zx_c6lW@Z@xkjyL{i$(-8v*nzx?vC!Bh{%}PQ%W}?>SK(`%*xC=00bc-0)XV4hluQm
z2({L;nLR~Bj)-h#JWbP;h|J6?BI2?ve{S3MLJ{#_^g%=(5s^}Qm{|n?j0lPdLPX0s
zKT=BD?RHyLb^84L{4PY)e~GA>SvjZ+GdnXsh-d&nAfh9pyE}@=T~+J<aHnbd$KBHy
zLk^R12ye{1k1-ZA6GRj<OU&FwL|bbC07UD$UJg*P@B53pmx$nLn*J7%o0%~HK<|Ay
zU~@!ZL`W&+2O**#O|Y3wN6#1$;O@lCj)<hHv%3os4McQiZl}}fe@r4WQc4XGfru<3
zh?$Lu01<<kcOn|4ln?khcrd}<`y{QkNkkeV8UPqGn}~D(aCfgnWI5-(_dX+{9<8O`
z`$9yWpPrt6BO)cDaCfe?UP~#rbzR?8wMK-m>-vs}T1t6D1h>|nj@JvHPN&~%tsejY
zM5OaPf0R-l>$+|cDgkDeo}ZuJ*LD3tL=HcrF%gY1#_3<diOj~7pz$&Q0000<MNUMn
GLSTYoKunDQ