mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
114 lines
3.1 KiB
Java
114 lines
3.1 KiB
Java
package com.hbm.blocks.generic;
|
|
|
|
import java.util.List;
|
|
|
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.block.BlockFence;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.util.AxisAlignedBB;
|
|
import net.minecraft.world.World;
|
|
|
|
public class BlockMetalFence extends BlockFence {
|
|
|
|
public BlockMetalFence(Material p_i45406_2_) {
|
|
super("", p_i45406_2_);
|
|
}
|
|
|
|
public static int renderID = RenderingRegistry.getNextAvailableRenderId();
|
|
|
|
@Override
|
|
public int getRenderType(){
|
|
return renderID;
|
|
}
|
|
|
|
@Override
|
|
public boolean isOpaqueCube() {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public boolean renderAsNormalBlock() {
|
|
return false;
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerBlockIcons(IIconRegister p_149651_1_)
|
|
{
|
|
this.blockIcon = p_149651_1_.registerIcon(this.getTextureName());
|
|
}
|
|
|
|
public void addCollisionBoxesToList(World p_149743_1_, int p_149743_2_, int p_149743_3_, int p_149743_4_, AxisAlignedBB p_149743_5_, List p_149743_6_, Entity p_149743_7_)
|
|
{
|
|
boolean flag = this.canConnectFenceTo(p_149743_1_, p_149743_2_, p_149743_3_, p_149743_4_ - 1);
|
|
boolean flag1 = this.canConnectFenceTo(p_149743_1_, p_149743_2_, p_149743_3_, p_149743_4_ + 1);
|
|
boolean flag2 = this.canConnectFenceTo(p_149743_1_, p_149743_2_ - 1, p_149743_3_, p_149743_4_);
|
|
boolean flag3 = this.canConnectFenceTo(p_149743_1_, p_149743_2_ + 1, p_149743_3_, p_149743_4_);
|
|
float f = 0.375F;
|
|
float f1 = 0.625F;
|
|
float f2 = 0.375F;
|
|
float f3 = 0.625F;
|
|
|
|
if (flag)
|
|
{
|
|
f2 = 0.0F;
|
|
}
|
|
|
|
if (flag1)
|
|
{
|
|
f3 = 1.0F;
|
|
}
|
|
|
|
if (flag || flag1)
|
|
{
|
|
this.setBlockBounds(f, 0.0F, f2, f1, 1.0F, f3);
|
|
addCol(p_149743_1_, p_149743_2_, p_149743_3_, p_149743_4_, p_149743_5_, p_149743_6_, p_149743_7_);
|
|
}
|
|
|
|
f2 = 0.375F;
|
|
f3 = 0.625F;
|
|
|
|
if (flag2)
|
|
{
|
|
f = 0.0F;
|
|
}
|
|
|
|
if (flag3)
|
|
{
|
|
f1 = 1.0F;
|
|
}
|
|
|
|
if (flag2 || flag3 || !flag && !flag1)
|
|
{
|
|
this.setBlockBounds(f, 0.0F, f2, f1, 1.0F, f3);
|
|
addCol(p_149743_1_, p_149743_2_, p_149743_3_, p_149743_4_, p_149743_5_, p_149743_6_, p_149743_7_);
|
|
}
|
|
|
|
if (flag)
|
|
{
|
|
f2 = 0.0F;
|
|
}
|
|
|
|
if (flag1)
|
|
{
|
|
f3 = 1.0F;
|
|
}
|
|
|
|
this.setBlockBounds(f, 0.0F, f2, f1, 1.0F, f3);
|
|
}
|
|
|
|
public void addCol(World p_149743_1_, int p_149743_2_, int p_149743_3_, int p_149743_4_, AxisAlignedBB p_149743_5_, List p_149743_6_, Entity p_149743_7_)
|
|
{
|
|
AxisAlignedBB axisalignedbb1 = this.getCollisionBoundingBoxFromPool(p_149743_1_, p_149743_2_, p_149743_3_, p_149743_4_);
|
|
|
|
if (axisalignedbb1 != null && p_149743_5_.intersectsWith(axisalignedbb1))
|
|
{
|
|
p_149743_6_.add(axisalignedbb1);
|
|
}
|
|
}
|
|
|
|
}
|