package mcjty.rftoolsdim.blocks;

import mcjty.lib.McJtyRegister;
import mcjty.rftoolsdim.RFToolsDim;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
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.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

import javax.annotation.Nullable;
import java.util.Collections;
import java.util.List;

public class FakeWaterBlock extends Block {

    public FakeWaterBlock() {
        super(Material.GLASS);
        setHardness(100.0f);
        setLightOpacity(3);
        setUnlocalizedName(RFToolsDim.MODID + "." + "fake_water");
        setRegistryName("fake_water");
//        setLightLevel(0.6f);
//        setCreativeTab(RFToolsDim.tabRfToolsDim);
        McJtyRegister.registerLater(this, RFToolsDim.instance, ItemBlock.class);
    }

    @Override
    public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, @Nullable Entity entityIn, boolean p_185477_7_) {
    }

    public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
        return FULL_BLOCK_AABB;
    }

    @Nullable
    public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
        return NULL_AABB;
    }

    public boolean isPassable(IBlockAccess worldIn, BlockPos pos)
    {
        return true;
    }

    public boolean isFullCube(IBlockState state)
    {
        return false;
    }

    /**
     * Used to determine ambient occlusion and culling when rebuilding chunks for render
     */
    public boolean isOpaqueCube(IBlockState state)
    {
        return false;
    }

    public boolean isBlockSolid(IBlockAccess worldIn, BlockPos pos, EnumFacing side) {
        return false;
    }

    @SideOnly(Side.CLIENT)
    public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) {
        return blockAccess.getBlockState(pos.offset(side)).getBlock() == this ? false : (side == EnumFacing.UP ? true : super.shouldSideBeRendered(blockState, blockAccess, pos, side));
    }

    public EnumBlockRenderType getRenderType(IBlockState state) {
        return EnumBlockRenderType.MODEL;
    }

    @SideOnly(Side.CLIENT)
    public BlockRenderLayer getBlockLayer() {
        return BlockRenderLayer.TRANSLUCENT;
    }


    @Override
    public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
        return Collections.emptyList();
    }

    @SideOnly(Side.CLIENT)
    public void initModel() {
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0, new ModelResourceLocation(getRegistryName(), "inventory"));
    }

}

@@ -1615,32 +1615,46 @@
 77_7_) %7B%0A    %7D%0A%0A
+    @Override%0A
     public AxisA
@@ -1725,32 +1725,32 @@
 BlockPos pos) %7B%0A
-
         return F
@@ -1786,16 +1786,30 @@
 ullable%0A
+    @Override%0A
     publ
@@ -1936,32 +1936,46 @@
 LL_AABB;%0A    %7D%0A%0A
+    @Override%0A
     public boole
@@ -2050,32 +2050,46 @@
 rn true;%0A    %7D%0A%0A
+    @Override%0A
     public boole
@@ -2261,16 +2261,30 @@
      */%0A
+    @Override%0A
     publ
@@ -2496,32 +2496,46 @@
 ly(Side.CLIENT)%0A
+    @Override%0A
     public boole
@@ -2825,32 +2825,46 @@
  side));%0A    %7D%0A%0A
+    @Override%0A
     public EnumB
@@ -2954,32 +2954,32 @@
 e.MODEL;%0A    %7D%0A%0A
-
     @SideOnly(Si
@@ -2981,32 +2981,46 @@
 ly(Side.CLIENT)%0A
+    @Override%0A
     public Block

Add missing @Override annotations