Ok so I've registered it where I register all my other blocks
@GameRegistry.ObjectHolder(Reference.MOD_ID)
public class ModBlocks
{
public static final BlockBL sbrick = new BlockSnowBrick();
public static final BlockBL icePulse = new BlockIcePulse();
public static final BlockBL orichalcumOre = new BlockOrichalcumOre();
public static final Fluid liquidElerium = new Fluid("liquidElerium");
public static void init()
{
GameRegistry.registerBlock(sbrick, "sbrick");
GameRegistry.registerBlock(icePulse, "icePulse");
GameRegistry.registerBlock(orichalcumOre, "orichalcumOre");
FluidRegistry.registerFluid(liquidElerium);
}
}
Then I made another class where I construct (if that's the right word) the blocks and put this:
public class BlockYourFluid extends BlockFluidClassic {
@SideOnly(Side.CLIENT)
protected IIcon stillIcon;
@SideOnly(Side.CLIENT)
protected IIcon flowingIcon;
public BlockYourFluid(Fluid fluid, Material material) {
super(fluid, material);
setCreativeTab(CreativeTabs.tabMisc);
}
@Override
public IIcon getIcon(int side, int meta) {
return (side == 0 || side == 1)? stillIcon : flowingIcon;
}
@SideOnly(Side.CLIENT)
@Override
public void registerBlockIcons(IIconRegister register) {
stillIcon = register.registerIcon("modid:fluidStill");
flowingIcon = register.registerIcon("modid:fluidFlowing");
}
@Override
public boolean canDisplace(IBlockAccess world, int x, int y, int z) {
if (world.getBlock(x, y, z).getMaterial().isLiquid()) return false;
return super.canDisplace(world, x, y, z);
}
@Override
public boolean displaceIfPossible(World world, int x, int y, int z) {
if (world.getBlock(x, y, z).getMaterial().isLiquid()) return false;
return super.displaceIfPossible(world, x, y, z);
}
}
Now I'm not entirely sure what to do from here. Do I make a new class to register the Block?